/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/php/php-507-19-005/main.php
30 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
<?php /** * Генератор строк из большого лог-файла. * Читает файл построчно, что позволяет обрабатывать файлы размером в гигабайты. */ function readLogFile(string $filename): Generator { $handle = fopen($filename, 'r'); if (!$handle) { throw new RuntimeException("Не удалось открыть файл: $filename"); } try { while (($line = fgets($handle)) !== false) { // trim() удаляет перенос строки и пробелы по краям yield trim($line); } } finally { fclose($handle); } } // Использование генератора foreach (readLogFile('huge_application.log') as $line) { // Обработка одной строки за раз if (str_contains($line, 'ERROR')) { echo "Найдена ошибка: $line\n"; // Операция выполняется мгновенно, память не растет } }