Задать вопрос
@McMike

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

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

$reader = new XMLReader();
$reader->open($file);
while ($reader->read()) {...}
  • Вопрос задан
  • 377 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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 режиме или же костыль увеличения времени выполнения скрипта
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
26 дек. 2024, в 15:04
3000 руб./за проект
26 дек. 2024, в 14:50
2000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект