повторяйте/печатайте проблему в php цикле с условием продолжения

Мне нужна фиксация для этого.
вот просто часть моего кода

<?php
$number = 30;
while($number > 0) {
 $number--;
 sleep(30);
 print "$number . Posted<br>";

}
?> 

Процесс цикла в цикле на самом деле намного больше, я просто поместил важный материал.

Так или иначе, поскольку Вы видите, что это должно распечатать
30 отправленных
(ожидайте 30 секунд),
29 Отправленных
(ожидайте 30 секунд),
28 Отправленных
(ожидайте 30 секунд),

Но вместо этого это ожидает, пока цикл не закончен, затем просто печать все это сразу. Есть ли фиксация для этого? Я думал ajax метод, но я не знаю ни о ком.

6
задан Joseph Robidoux 4 March 2010 в 19:40
поделиться

4 ответа

Приятно, что все объяснили почему.

Это связано с тем, что по умолчанию PHP обрабатывает все, прежде чем «сбросить» что-либо в браузер. Просто распечатывая каждую строку, он сохраняет эту информацию в буфере, которая будет распечатана одновременно после завершения работы PHP.

Если вы хотите, чтобы PHP сбрасывал этот контент в браузер сразу после строки, вам нужно вызывать flush () после каждой, тогда текст будет выводиться по одной строке за раз после каждой строки. называется.

15
ответ дан 8 December 2019 в 05:54
поделиться

Вы можете поместить \ n в echo или напечатайте , чтобы очистить буфер.

0
ответ дан 8 December 2019 в 05:54
поделиться

Вам нужно использовать flush ()

2
ответ дан 8 December 2019 в 05:54
поделиться

Вызов flush () после печати.

4
ответ дан 8 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

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