bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )
ob_start включает буферизацию вывода. Это значит, что всё, что будет вызываться на вывод в программе при помощи
echo,
print и подобными функциями будет записываться в буфер, а не выводиться, пока буферизация не будет выключена при помощи
ob_end_flush или
ob_end_clean. Не будет блокироваться лишь вывод заголовков документа (
header). Параметр $output_callback может содержать имя функции, которая при вызове ob_end_flush() будет выполнена — в примерах работы будет показано как это делается.
Примеры работы
1
<?php
ob_start(); // Включаем буферизацию вывода
echo "test test"; // Выводим какую-то информацию, которая попадает в буфер
ob_end_flush(); // Выключаем буферизацию и выводим содержимое буфера
?>
2
<?php
function parse($data)
{
return str_replace('dressed', 'stripped', $data);
}
ob_start('parse');
echo 'Let me see you dressed';
ob_end_flush(); // Будет выведено: «Let me see you stripped»
?>
3
<?php
ob_start(); // Включаем буферизацию
echo 'Can we see this text?';
ob_clean(); // Очистим текущее содержание буфера
echo 'And this?';
ob_end_flush(); // Выведем содержимое. Будет выведено только: «And this?»
?>