如何逐行读取php(csv文件)中的大文件以避免内存不足? 目前,我有这个:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes)
我几乎可以肯定我的php会逐行读取:
$i = 0;
$source = fopen('falkcsvutf.csv', 'r') or die("Problem open file");
while (($data = fgetcsv($source, 0, ";")) !== FALSE && $i < 10)
{
echo $data[1];
$i++;
}
fclose($source);
$ i&lt; 10只是在调试中限制......
我感觉PHP的东西在我的csv中只有一行,但是,当我以崇高文本打开文件时,我看到所有行(带行号)
该文件是Excel文件,保存为CSV,然后转换为带有iconv功能的utf8。
任何想法?
答案 0 :(得分:1)
来自PHP docs:
注意:如果在Macintosh计算机上读取文件或由Macintosh计算机创建文件时,PHP无法正确识别行结尾,则启用auto_detect_line_endings运行时配置选项可能有助于解决问题。
请检查auto_detect_line_endings