buffer — выходная буферизация PHP, отображающая первые 2 значения вместе

Я пытаюсь заставить мой скрипт PHP печатать свои данные в реальном времени, используя буферизацию вывода. Например, я прикрепил код для цикла, который считается до 50, с задержкой сна 1.

Я ожидал бы, что он отобразит и посчитает это следующим образом [эхо 0, сон 1, эхо 1, сон 1, эхо 2, сон 1, эхо 3, сон 1, эхо 4, сон 1 и т. Д.]. (считая человека)

Однако для начальных значений 2 (значения 0 и 1) они сразу появляются вместе. Между первыми двумя значениями нет задержки буфера, и они выводятся вместе. Он не отображает эхо 0, затем задержка 1 с, затем эхо 1, задержка 1 … и т. Д.
Он выводит значение 0 и значение 1 и работает так, как я ожидал бы после начальных 2 значений.

Почему он выводит первые 2 значения цикла вместе?

<?php
header('Content-Encoding: none;');
set_time_limit(0);
for($i=0;$i<50;$i++)
{
if (ob_get_level() == 0){ob_start();}
echo $i."<br/>";
echo str_pad('', 4096);
ob_flush();
flush();
sleep(1);
ob_end_flush();
}
?>

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector