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.
PHP.mk документација
Контрола на излезот
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
book.outcontrol.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + преведен приказ
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
book.outcontrol.php
Контрола на излезот
Референца за `book.outcontrol.php` со подобрена типографија и навигација.
Контрола на баферирање на излезот
Вовед
Функциите за контрола на излезот ви овозможуваат да контролирате кога излезот се испраќа од скриптата. Ова може да биде корисно во неколку различни ситуации, особено ако треба да испратите заглавја до прелистувачот откако вашата скрипта започнала со испраќање податоци. Функциите за контрола на излезот не влијаат на заглавјата испратени со користење header() or setcookie(), само функции како echo и податоци помеѓу блокови од PHP код.
- Installing/Configuring
- Претходно дефинирани константи
- Баферирање на излезот
- Испразнување на системските бафери
- Бафери на излез на ниво корисник
- Примери
- Функции за контрола на излезот
- 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_implicit_flush — Добиј го статусот на излезните бафери
- ob_list_handlers — Вклучи/исклучи имплицитно испраќање
- ob_start — Наведи ги сите активни излезни ракувачи
- output_add_rewrite_var — Вклучи баферирање на излезот
- output_reset_rewrite_vars — Додај вредности за препишувач на URL
Белешки од корисници 1 белешка
— Ресетирај ги вредностите за препишувач на URL ¶
пред 16 години