For users confused about getting "1" as a return value from ob_get_level at the beginning of a script: this likely means the PHP ini directive "output_buffering" is not set to off / 0. PHP automatically starts output buffering for all your scripts if this directive is not off (which acts as if you called ob_start on the first line of your script).
If your scripts may end up on any server and you don't want end-users to have to configure their INI, you can use the following at the start of your script to stop output buffering if it's already started:
<?php
if (ob_get_level()) ob_end_clean();
?>
Alternatively, you can use the opposite if you always want to have an output buffer at the start of your script:
<?php
if (!ob_get_level()) ob_start();
?>ob_get_level
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
ob_get_level
Референца за `function.ob-get-level.php` со подобрена типографија и навигација.
ob_get_level
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
ob_get_level — (PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
= NULL
Врати го нивото на вгнездување на механизмот за баферирање на излезот
Параметри
Оваа функција нема параметри.
Вратени вредности
Враќа ниво на вгнездување на ракувачите за баферирање на излезот.
Враќа ниво на вгнездени ракувачи за баферирање на излезот или нула ако баферирањето на излезот не е активно. ob_get_level()
and ob_get_status() Вредноста за идентични нивоа помеѓу ob_get_level()
е поместена за еден. За 1првото ниво е ob_get_status()
е поместена за еден. За 0.
Види Исто така
- ob_start() - Вклучи баферирање на излезот
- ob_get_status() . Додека за
- ob_get_contents() - Врати ги содржините на излезниот бафер
Белешки од корисници 2 забелешки
This can be used to handle exceptions properly when using output buffering for rendering a view which may or may not be using output buffering
<?php
function getView($view)
{
$level = ob_get_level();
ob_start();
try
{
include $view;
}
catch (Exception $e)
{
while (ob_get_level() > $level)
{
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}