Новые книги

Бестселлер в компьютерной литературе для тех, кому за …, поможет каждому желающему освоить компьютер легко и просто не только в теории, но и на практике! В книге подробно описан каждый важный процесс в освоении киберпространства, а также проиллюстрирован каждый шаг.

От великого множества учебников по компьютерам он отличается тем, что написан дилетантом и протестирован такими же дилетантами. Как показала практика, Букварь, написанный человеком, познающим компьютер, принес большую пользу ученикам пенсионного возраста. Автор помогает своим сверстникам, для которых тяжело сразу понять, какой кнопкой кликать – и что значит «кликать» вообще – познать азы компьютерной грамотности.
Майя Богданова – журналист, редактор, пиарщик, контент-технолог. Проще говоря, человек-текст.

Эта книга расскажет о том, как создавать тексты, с одной стороны посвященные вашему бизнесу, а с другой – завораживающие клиентов не хуже, чем истории Шахерезады.

ob_start

Учебник РНР
Назад Вперёд

ob_start

(PHP 4)

ob_start - включает буферизацию вывода.

Описание

void ob_start ([string output_callback])

Эта функция включает буферизацию вывода. Если буферизация вывода активна, никакой вывод скрипта не высылается (кроме шапок/headers); вывод сохраняется во внутреннем буфере.

Содержимое этого внутреннего буфера может быть скопировано в строковую переменную с использованием ob_get_contents(). Для вывода содержимого этого внутреннего буфера используйте ob_end_flush(). Альтернативно ob_end_clean() втихую отбрасывает содержимое буфера.

Может быть специфицирована необязательная функция output_callback. Эта функция принимает строку как параметр и должна возвращать строку. Функция будет вызвана при вызове ob_end_flush(), или если буфер выводится в браузер в конце запроса. Когда вызывается output_callback, она примет содержимое буфера вывода как параметр и по идее должна возвратить новый буфер вывода как результат, который будет направлен в браузер.

Примечание: в PHP 4.0.4 ob_gzhandler() была введена для облегчения отправки gz-кодированных данных web-браузерам, поддерживающим сжатые web-страницы. ob_gzhandler() определяет тип кодировки содержимого, принимаемый браузером, и возвращает вывод соответствующим образом.

Буферы вывода стэкируются, то есть вы можете вызвать ob_start(), когда активна другая ob_start(). просто убедитесь, что вы вызываете ob_end_flush() соответствующее количество раз. Если активны несколько callback-функций, вывод последовательно фильтруется для каждой из них в порядке вложения.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() и ob_start() не могут вызываться из callback. Если вы вызовете их из callback-функции, поведение не определено. Если вы хотите удалить содержимое буфера, возвратите "" (нулевую строку) из callback.

Пример 1. Пользовательская callback-функция
<?php

function callback($buffer) {

  // заменить все apples на oranges
  return (ereg_replace("apples", "oranges", $buffer));

}

ob_start("callback");

?>

<html>
<body>
<p>It's like comparing apples to oranges.
</body>
</html>

<?php

ob_end_flush();

?>

Даст:

<html>
<body>
<p>It's like comparing oranges to oranges.
</body>
</html>

См. также ob_get_contents(), ob_end_flush(), ob_end_clean(), ob_implicit_flush() и ob_gzhandler().


Назад Оглавление Вперёд
ob_implicit_flush ВверхПерегрузка свойств и вызовов методов объектов