Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Нехватка памяти при открытии файла большого размера
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Нехватка памяти при открытии файла большого размера

Страниц (1): [1]
 

1. goooooch - 07 Декабря, 2015 - 18:27:30 - перейти к сообщению
Всем привет.

Запускаю с консоли скрипт:
PHP:
скопировать код в буфер обмена
  1. <?
  2.     set_time_limit(0);
  3.     $file_config = file('config.txt');  //Пробуем открыть конфиг
  4.     if ($file_config != false)://Конфиг открылся
  5.         $arrSteps = explode(":", $file_config[0]);        
  6.         $step_number = $arrSteps[1];
  7.         if ($step_number == '') {
  8.             $step_number = 1;
  9.         }
  10.         $file_domains = file("ru.txt");//.txt в массиве
  11. ...
  12. ...
  13.  


На строке (в приведенном фрагменте она последняя) выводится сообщение о нехватке памяти allowed memory size of bytes exhausted (tried to allocate bytes).

Файл примерно 70МБ, да.

Есть ли возможность обойти это узкое место без добавления дополнительных ресурсов сервера, без увеличения memory_limit? Может есть замена file() или возможность разбить файл на части?
2. esterio - 07 Декабря, 2015 - 18:34:16 - перейти к сообщению
есть, но на более низком уровне. fopen, fread, fseek, fclose

 

Powered by ExBB FM 1.0 RC1