uznay-chto-hochesh.narod.ru

-сайт для интересующихся людей

Учебник - справочник по PHP.

Здесь Вы найдете что хотели

Меню сайта
Главная
Введение
Справочник языка
Возможности РНР
Функции (справочник)
Расширение РНР 4.0
F.A.Q. частые вопросы
Приложения
Алфавитный указатель
Друзья сайта
сделай сайт сам! пособие по html
изучение html и web-дизайна для новичков
Бесплатная отправка смс на все операторы
Реклама
 
Назад Вперёд

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 ВверхПерегрузка свойств и вызовов методов объектов

Хостинг от uCoz