15

我正在尝试使用 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'),但没有奏效。

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

已解决的问题:: 硬盘空间不足。解决了这个问题,现在一切正常。

4

1 回答 1

0

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

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

如果您确实需要将文件放在一个“块”中,您总是可以implode()(使用您选择的换行符)将数组恢复为单个字符串。

参考 -

于 2012-09-27T19:38:26.527 回答