Как отобразить вывод в режиме реального времени (до окончания работы скрипта)? - PullRequest
3 голосов
/ 05 февраля 2011

Как вывести данные в браузер до завершения выполнения скрипта?

Например, приведенный ниже код выведет сразу все 100 "привет", как мне сделать так, чтобы он выводился сразу, как толькоэтот раздел кода читается / обрабатывается?Например: форум PHPBB3 показывает процесс установки шаг за шагом.

<?php
for ($i = 0; $i <= 100; $i++) {
   echo "hi";
   echo "<br>";
}
?>

1 Ответ

5 голосов
/ 05 февраля 2011

Вызовите ob_implicit_flush () перед вашим циклом.

Обратите внимание, что это не является гарантией (буферы веб-сервера, прокси-буферы и веб-браузеры, которые отказываются от рендеринга, являются вашими врагами).Это МОЖЕТ помочь отобразить некоторые переводы строки (\ n), так как я помню, что есть браузеры, которые не будут перерисовывать, пока не получат полную строку.

Это не будет работать вообще, если вы используете буферизацию вывода (например,для сжатия с использованием gzip (если используемый модуль gzip использует буферизацию, что не редкость) или по другим причинам).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...