Задать вопрос
leha2002828
@leha2002828
Программирование php/html

Работа с большими файлами для preg_match_all?

$base = file_get_contents("https://site.ru/base.php"); // base.php используется как txt файл.
$text = "Поиск";
preg_match_all('/\b'.$text.'\:(.*)/i', $base, $otvet);


База превышает более 2 млн строк, после запроса нечего не выводит.
Что сделать? fopen пробовал так же...
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Средний Комментировать
Ответ пользователя ksnk К ответам на вопрос (3)
@ksnk
file_get_contents читает в память. Нет памяти - нет печенек, смотри в логах ошибок... Попробуй читать в цикле fopen-fread не весь файл, а кусочками по 64к, к примеру. Eдинственная проблема - нужно не потерять возможный "хвост", например перекидывая последние 5 символов от предыдущего чтения в начало следующего.
Ответ написан
Комментировать