flush

(PHP 4, PHP 5, PHP 7)

flushСброс системного буфера вывода

Описание

void flush ( void )

Функция очищает системный буфер вывода PHP, при этом всё содержимое буфера отправляется в браузер пользователя (с некоторыми исключениями), независимо от используемого backend-а у PHP (CGI, web-сервер и т.д.).

flush() не может изменить схему буферизации вашего web-сервера и никак не влияет на буферизацию браузера на стороне клиента. Функция так же не влияет на механизм буферизации пользовательского PHP кода. Это означает, что если вы используете сброс выходных буферов ob, то вам придется вызывать ob_flush() и flush() вместе.

Некоторые серверы, особенно под управлением Win32, будут по-прежнему продолжать буферизировать вывод вашего скрипта до передачи результатов в браузер.

Серверные модули для Apache, такие как mod_gzip, могут сами выполнять буферизацию, поэтому flush() не приводит к немедленной передаче данных клиенту.

Браузер может также буферизировать поступающие к нему данные перед отображением. Например, Netscape, буферизирует текст пока не получит признак end-of-line или начало тэга, и не будет отображать таблицы пока не увидит тэга </table> самой внешней таблицы.

Некоторые версии Microsoft Internet Explorer начинают отображать страницу только после получения 256 байт вывода, поэтому может понадобиться отправить дополнительные пробелы перед сбросом, чтобы такие браузеры отобразили страницу.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • ob_flush() - Сброс (отправка) буфера вывода
  • ob_clean() - Очищает (стирает) буфер вывода
  • ob_end_flush() - Сброс (отправка) буфера вывода и отключение буферизации вывода
  • ob_end_clean() - Очищает (стирает) буфер вывода и отключает буферизацию вывода