Разработчику. Сборник рецептов PHP
Задавайте вопросы

Передача выходной информации в броузер

Вернуться назад

Задача

Необходимо немедленно послать выходную информацию в броузер. Например, если вы хотите сообщить пользователю о выполнении медленного запроса к базе данных.

Решение

Это делается при помощи функции flush():

print 'Finding identical snowflakes...';
flush();
$sth = $dbh -> query(
     'SELECT shape,COUNT(*) AS c FROM snowflakes GROUP BY shape HAVING c > 1');

Обсуждение

Функция flush() посылает веб-серверу весь вывод, который PHP буферизировал, но веб-сервер может обладать своим собственным буфером,что вызывает задержку, когда информация передается броузеру. Кроме того, некоторые броузеры не показывают информацию сразу по принятии, а некоторые версии броузера Internet Explorer (IE) не показывают страницу, пока не будут приняты хотя бы 256 байт. Чтобы заставить IE показывать содержание, напечатайте пробелы в начале страницы:

print str_repeat(' ',300);
print 'Finding identical snowflakes...';
flush();
$sth = $dbh -> query(
     'SELECT shape,COUNT(*) AS c FROM snowflakes GROUP BY shape HAVING c > 1');

См. также

Документацию по функции flush() на http://www.php.net/flush.

Вернуться назад

Рейтинг@Mail.ru

Яндекс.Метрика

Индекс цитирования

Рейтинг Сайтов ДОСКИ.РУ