Есть ли ограничение на PHP file_get_contents?
Я пытаюсь прочитать большой файл (10M) с помощью php file_get_contents
$file = 'http://www.remoteserver.com/test.txt';
$data = file_get_contents( $file );
var_dump ( $data );
Отбрасывается назад
string(32720)
а затем вывод, содержащий только часть файла. Есть ли предел где-то в файле_get_contents? Я попытался сделать ini_set ('memory_limit', '512M'), но это не сработало.
EDIT: ** забыл упомянуть ** удаленный файл.
ПРОБЛЕМА РЕШЕНАЯ:: Из пространства на жестком диске. Исправлено это, и теперь все работает.
Ответы
Ответ 1
Предполагая, что содержимое файла, который вы хотите загрузить, логически разделяется разрывами строк (например: не двоичный файл), тогда вам может быть лучше читать строки за строкой.
$fp = fopen($path_to_file, "r");
$fileLines = array();
while (!feof($fp)){
array_push(fgets($fp),$fileContents);
}
fclose($$fp);
Вы всегда можете implode()
(с вашим выбором символа прерывания строки) массив вернуться к одной строке, если вам действительно нужен файл в одном "куске".
Ссылка -