| ||||||||||
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, она примет содержимое буфера вывода как параметр и по идее должна возвратить новый буфер вывода как результат, который будет направлен в браузер.
Буферы вывода стэкируются, то есть вы можете вызвать ob_start(), когда активна другая ob_start(). просто убедитесь, что вы вызываете ob_end_flush() соответствующее количество раз. Если активны несколько callback-функций, вывод последовательно фильтруется для каждой из них в порядке вложения. ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() и ob_start() не могут вызываться из callback. Если вы вызовете их из callback-функции, поведение не определено. Если вы хотите удалить содержимое буфера, возвратите "" (нулевую строку) из callback.
См. также ob_get_contents(), ob_end_flush(), ob_end_clean(), ob_implicit_flush() и ob_gzhandler(). | ||||||||||
|