Управление буфером вывода
- Введение
- Установка и настройка
- Предопределенные константы
- Примеры
- Функции контроля вывода
- flush — Сброс системного буфера вывода
- ob_clean — Очищает (стирает) буфер вывода
- ob_end_clean — Очищает (стирает) буфер вывода и отключает буферизацию вывода
- ob_end_flush — Сброс (отправка) буфера вывода и отключение буферизации вывода
- ob_flush — Сброс (отправка) буфера вывода
- ob_get_clean — Получить содержимое текущего буфера и удалить его
- ob_get_contents — Возвращает содержимое буфера вывода
- ob_get_flush — Сброс буфера вывода, возвращая его содержимое и отключение буферизации вывода
- ob_get_length — Возвращает размер буфера вывода
- ob_get_level — Возвращает уровень вложенности механизма буферизации вывода
- ob_get_status — Получить статус буфера вывода
- ob_gzhandler — callback-функция, используемая для gzip-сжатия буфера вывода при вызове ob_start
- ob_implicit_flush — Функция включает/выключает неявный сброс
- ob_list_handlers — Список всех используемых обработчиков вывода
- ob_start — Включение буферизации вывода
- output_add_rewrite_var — Добавить обработчик значений URL
- output_reset_rewrite_vars — Сброс значений установленных обработчиком URL
- Alternative PHP Cache
- APCu
- Расширенный отладчик PHP
- PHP bytecode Compiler
- Blenc - BLowfish ENCoder for PHP source scripts
- Обработка и протоколирование ошибок
- htaccess-like support for all SAPIs
- Inclusion hierarchy viewer
- Memtrack
- OPcache
- Управление буфером вывода
- PHP Опции и Информация
- runkit
- Break the silence operator
- uopz
- Weak References
- Windows Cache for PHP
- Hierarchical Profiler
Коментарии
The manual is a little shy on explaining that output buffers are nested, and that "turns off output buffering" means turning off the highest nested buffer. See ob_get_level (for a useful function, but still no explanation)
<?php
ob_start();
echo "1:blah\n";
ob_start();
echo "2:blah";
// ob_get_clean() returns the contents of the last buffer opened. The first "blah" and the output of var_dump are flushed from the top buffer on exit
var_dump(ob_get_clean());
exit;
?>
puts:
1:blah
string(6) "2:blah"
Prior to realising this, I had thought PHP's ob functionality left more to be desired. I *really* wish I knew earlier.