@McMike

Как узнать сколько байт из файла прочитано?

Пытаюсь распарсить большой XML. Скрипт отваливается по таймауту. Можно ли узнать, сколько байт было вычитано?

$reader = new XMLReader();
$reader->open($file);
while ($reader->read()) {...}
  • Вопрос задан
  • 377 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
$reader = new XMLReader();
$reader->open($file);
$counter = 0;
while ($reader->read()) {
  ...
  $counter++; // ← счетчик обработанных узлов
}


P.S.: Таймаут увеличить не вариант?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
$file_path = "your_file";
$file_handle = fopen($file_path, "rb");
$i = 0;
while (!feof($file_handle)) {
        $symbol = fread($file_handle, 1);
        $i++;

}
echo 'total byte = '. $i."\n";


Запуск делай в cli режиме или же костыль увеличения времени выполнения скрипта
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы