Можно ли отображать строку в браузере в бесконечном цикле? Это то, что я хочу:
while(1) { echo "should display these lines on browser while in infinite loop.<br>"; }
Да, это возможно. Вы должны очистить вывод в браузере, если хотите, чтобы он появился сразу:
while(1) { echo "should display these lines on browser while in infinite loop.<br>"; flush(); }
Скорее всего, что бы вы ни пытались достичь, это не то, как вы должны это делать.
PHP в конечном итоге истечет, но не раньше, чем генерирует массивный HTML-документ, который будет отображаться в вашем браузере.
Обратите внимание на использование ob_flush();
чтобы убедиться, что php-выходы, и usleep(100000)
чтобы успеть увидеть, что происходит.
while(1) { echo "should display these lines on browser while in infinite loop.<br>"; usleep(100000); // debuging purpose ob_flush(); flush(); }
Добавьте команду flush()
после инструкции echo, она выведет выход в браузер. Обратите внимание, что браузеры обычно не начинают визуализировать, пока не достигнут определенного объема информации (около 0,5 КБ).
while(1) { echo "should display these lines on browser while in infinite loop.<br>"; flush(); //Flush the output buffer }
Если вы не хотите поместить flush (); после каждого эха вашего кода:
Установите это в свой php.ini:
implicit_flush = Выкл.
Или если у вас нет доступа к php.ini:
@ini_set ( 'implicit_flush', 1);