如何在php中读取11 MB的文本文件?

时间:2011-04-04 14:04:34

标签: php file-io

我用php阅读了11mb文本文件:

$data_array = array();

$counter = 0;        

while(!feof($fh))  {

    $buffer = fgets($fh, 4096);

    $data_array[$counter] = $buffer;

    $counter++;
}

然后我想使用implode函数将所有变量合并到一个变量中。

$data = implode("",$data_array); 

但脚本什么也没做。如果我在循环期间尝试将数据存储到一个变量中,则需要很长时间 还有其他方法如何做到这一点?我需要在php中的一个变量中将来自11mb textfile的数据。

3 个答案:

答案 0 :(得分:9)

首先,你正试图重新发明轮子。 PHP中已有功能:

$data = file_get_contents($filename) 

其次,如果您没有收到任何结果,请检查您在php.ini中设置的内存和时间限制。

答案 1 :(得分:0)

你试过$data = file_get_contents('filename');吗?

答案 2 :(得分:0)

如果可以,您应该尝试使文本文件更小。还有php.ini文件中的执行限制30秒应该是默认的,然后脚本终止。