@lesh_a

Как большой файл обработать по частям?

Есть файл, в котором через перенос строки написаны урл. Нужно каким-то образом вырезать первые 100 урл из файла для дальнейшей их обработки, и таким образом обработать весь файл. Как это можно реализовать?
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 2
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
lesh_a
$filename = 'text.txt';

$total = 0;
$buffer = [];

$h = fopen($filename, 'r');

while (! feof($h)) {
    if ($total > 100) {
        // var_export($buffer); // Вывести или выполнить обработку каждых 100 строк
        $total = 0;
        $buffer = [];
    }
    $buffer[] = fgets($h);
    $total++;
}

fclose($h);

if (! empty($buffer)) {
//    var_export($buffer); // Вывести или выполнить обработку оставшихся строк
}
Ответ написан
Комментировать
Adamos
@Adamos
Пишешь JS-скриптик, в котором дергаешь аяксом страничку на РНР, передавая ей параметром N и М.
В РНР пропускаешь N * М строк, обрабатываешь следующие М, возвращаешь ОК.
В JS ловишь ответ, увеличиваешь N и запускаешь следующий цикл.
Будет и правильно, и наглядно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы