Мне нужна фиксация для этого.
вот просто часть моего кода
<?php
$number = 30;
while($number > 0) {
$number--;
sleep(30);
print "$number . Posted<br>";
}
?>
Процесс цикла в цикле на самом деле намного больше, я просто поместил важный материал.
Так или иначе, поскольку Вы видите, что это должно распечатать
30 отправленных
(ожидайте 30 секунд),
29 Отправленных
(ожидайте 30 секунд),
28 Отправленных
(ожидайте 30 секунд),
Но вместо этого это ожидает, пока цикл не закончен, затем просто печать все это сразу. Есть ли фиксация для этого? Я думал ajax метод, но я не знаю ни о ком.
Приятно, что все объяснили почему.
Это связано с тем, что по умолчанию PHP обрабатывает все, прежде чем «сбросить» что-либо в браузер. Просто распечатывая каждую строку, он сохраняет эту информацию в буфере, которая будет распечатана одновременно после завершения работы PHP.
Если вы хотите, чтобы PHP сбрасывал этот контент в браузер сразу после строки, вам нужно вызывать flush ()
после каждой, тогда текст будет выводиться по одной строке за раз после каждой строки. называется.
Вы можете поместить \ n
в echo
или напечатайте
, чтобы очистить буфер.