PHP file_get_contents有限制吗?

时间:2012-09-27 19:34:32

标签: php file-get-contents large-files

我正在尝试使用php file_get_contents

读取一个大文件(10M)
$file = 'http://www.remoteserver.com/test.txt';
$data = file_get_contents( $file );
var_dump ( $data );

它转储回来

string(32720)

然后输出只显示文件的一部分。 file_get_contents的某处有限制吗?我试过做ini_set('memory_limit','512M'),但那不起作用。

编辑:** 忘记提及 **这是一个远程文件。

问题已解决 ::超出硬盘空间。修正了现在一切正常。

1 个答案:

答案 0 :(得分:0)

假设您要加载的文件的内容在逻辑上由换行符分隔(例如:不是二进制文件),那么您最好逐行阅读。

$fp = fopen($path_to_file, "r");  
$fileLines = array();
while (!feof($fp)){
  array_push(fgets($fp),$fileContents);
} 
fclose($$fp);

如果您真的需要一个“块”中的文件,您可以始终implode()(使用您选择的换行符)将数组返回到单个字符串。

参考 -