
Всем привет! Рассмотрим самые часто используемые функции для работы с буфером.
Первая из них flush() которая отправляет вывод, накопленный во внутреннем буфере PHP
Рассмотрим на примере:
echo 'Подождите пожалуста<br/>';
flush();
sleep(3); // Задержка в 3 секунды
echo 'Данные подгруженны';
Как видите первое сообщение которое идет до вызова функции flush() было выведено сразу , а второе после выполнения функции задержки в 3 секунды, а теперь попробуйте убрать функцию flush() и как видите вывод всех сообщений произошел сразу несмотря на задержку.
Это можно использовать для вывода сообщения когда мы ждем обработку какого то кода на сервере.
Еще очень полезными функциями являются ob_start(); и ob_end_flush(); которые позволяют чередовать вывод и отправку заголовков.
Рассмотрим на примере, допустим у нас есть вывод сообщения и отправка заголовка.
echo 'Привет';
header("Content-type: text/html");
Как вы знаете так делать нельзя сначала должны отправляться заголовки, а только потом идти какой-либо вывод. Теперь давайте выполним все предыдущее действие с использованием функций ob_start() и ob_end_flush();
ob_start();
echo 'Привет';
header("Content-type: text/html");
ob_end_flush();
Как видите ошибки теперь у нас нет. C помощью функции ob_start() мы сгенерировали вывод, ob_end_flush() - только после этой функции осуществляется вывод
На этом дорогие друзья все надеюсь данная статья была для вас полезна. Удачи!