在一个脚本中,我正在使用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 ...
}
这个方法只有一个很小的问题。它太慢了,几乎是倒着走的
这些都烤在一起,也许这样更快?
$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中