apo*_*rat 3 php csv zend-framework
我需要从FTP读取CSV文件列表,并在成功读取后删除它们.
到目前为止,我使用fopen
资源打开了csv文件,然后用它fgetcsv
来读取csv行.
$res = fopen($url);
while ($csv_row = fgetcsv($res, null, self::DELIMITER)) {
.....
}
Run Code Online (Sandbox Code Playgroud)
问题是我需要读取csv文件列表并删除它们.ftp_get函数将文件保存到本地文件中.我宁愿避免这种情况.什么办法可以继续使用fgetcsv
与功能ftp_nlist
和ftp_connect
功能呢??
您可以使用csv文件保存到临时文件流ftp_fget()
.这允许您避免"创建 - 读取 - 删除"循环.一旦你关闭文件流,它就像魔法从未存在过:)
$ftp_handle = ftp_connect($ftp_server);
$remote_path = "/path/to/file.csv";
$tmp_handle = fopen('php://temp', 'r+');
if (ftp_fget($ftp_handle, $tmp_handle, $remote_path, FTP_ASCII)) {
rewind($tmp_handle);
while ($csv_row = fgetcsv($tmp_handle)) {
// do stuff
}
}
fclose($tmp_handle);
Run Code Online (Sandbox Code Playgroud)
如果你想循环遍历文件目录,只需获取文件列表,然后将上面的代码放在循环中.
归档时间: |
|
查看次数: |
3779 次 |
最近记录: |