0
在腳本中,我正在使用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 ...
}
這種方法只有一個小問題。它很慢,幾乎要倒退。
哪一位是慢..?獲取文件或循環播放它?什麼是.csv文件的文件大小?你有沒有考慮通過cURL來獲取文件? – MaggsWeb
第一步是讀取/寫入還是第二步迭代需要時間? – BobbyTables
這不是讀寫慢,因爲每天只做一次。 – Peter