在脚本中,我正在使用ftp从远程服务器中提取csv。我在本地保存此文件,然后打开该文件。我遍历文件中与特定值匹配的所有内容。如果匹配,脚本可以继续。
说够了。让我们看一些代码...
$filename = 'ftp://.....';
$localCsv = '/tmp/'.date('Ymd').'.csv';
if (!file_exists($localCsv)) {
$content = file_get_contents($filename);
file_put_contents($localCsv, $content);
}
现在我们已经创建了文件。我们可以继续循环。
$handle = fopen($localCsv, "r");
while(!feof($handle)) {
$rows[] = fgets($handle);
}
fclose($handle);
$results = array();
foreach ($rows as $rid => $row) {
$columns = explode("\t", $row);
$results[$columns[2]] = $columns;
}
if (array_key_exists($searchValue, $results)) {
... Continue script ...
}
这种方法只有一个小问题。它太慢了,几乎倒退了。
答案 0 :(得分:1)
Heres一起烤了,也许那更快?
$handle = fopen($localCsv, "r");
$results = array();
while(!feof($handle)) {
$columns = explode("\t", fgets($handle));
$results[$columns[2]] = $columns;
if ($columns[2] == $searchValue) {
//SEARCH HIT
}
}
fclose($handle);
如果那不起作用,你可以试试PHP中的csv-specific methods