我正在尝试使用 php 读取一个大文件 (10M) file_get_contents
$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'),但这不起作用。
编辑:**忘了提到**这是一个远程文件。
问题已解决:: 硬盘空间不足。修复了这个问题,现在一切正常。
假设您要加载的文件的内容在逻辑上用换行符分隔(例如:不是二进制文件),那么最好逐行阅读。
$fp = fopen($path_to_file, "r");
$fileLines = array();
while (!feof($fp)){
array_push(fgets($fp),$fileContents);
}
fclose($$fp);
如果您确实需要将文件放在一个"块"中,您可以随时将数组implode()
(使用您选择的换行符)恢复为单个字符串。
参考-
-
fgets()
-
implode()