ob_get_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_get_status得到所有输出缓冲区的状态

说明

ob_get_status(bool$full_status = false): array

ob_get_status() 返回最顶层输出缓冲区的状态信息;或者如果 full_status 设为 true,返回所有有效的输出缓冲级别。

参数

full_status

设为 true 返回所有有效的输出缓冲区级别的状态信息。如果设为 false 或者没有设置,仅返回最顶层输出缓冲区的状态信息。

返回值

如果省略了 full_status 或传递 false,则返回简单的数组,该数组保存有关活动输出级别的状态信息。

如果 full_statustrue,则返回数组,其中每个元素都包含活动输出缓冲区级别。输出级别用作顶级数组的 key,每个数组元素本身又是另一个数组,包含活动输出级别的状态信息。

如果未打开输出缓冲,则返回空数组。

ob_get_status() 返回的数组元素
Key
name 活动输出处理程序的名称(有关详细信息,请参阅 ob_list_handlers() 的返回值)
type0(内部处理程序)或 1(用户提供的处理程序)
flagsob_start() 设置的 flag 掩码、输出处理程序的类型(见上文)和缓冲过程的状态(PHP_OUTPUT_HANDLER_* 常量)。如果处理程序成功处理缓冲并且没有返回 false,则将会设置 PHP_OUTPUT_HANDLER_STARTEDPHP_OUTPUT_HANDLER_PROCESSED。如果处理程序在处理缓冲时失败或返回 false,则将设置 PHP_OUTPUT_HANDLER_STARTEDPHP_OUTPUT_HANDLER_DISABLED
level 输出嵌套级别(从 0 开始)。注意 ob_get_level() 对于相同级别返回的值相差 1。ob_get_status() 的第一级为 0ob_get_level() 的第一级为 1
chunk_size 块大小(以字节为单位)。通过 ob_start() 设置或启用 output_buffering 并将其值设置为正整数
buffer_size 输出缓冲区字节大小
buffer_used 输出缓冲区中数据的字节大小(与 ob_get_length() 的整数返回值相同)

示例

示例 #1 当 full_statusfalse 的返回数组

Array ( [name] => URL-Rewriter [type] => 0 [flags] => 112 [level] => 2 [chunk_size] => 0 [buffer_size] => 16384 [buffer_used] => 1024 )

示例 #2 当 full_statustrue 的返回数组

Array ( [0] => Array ( [name] => default output handler [type] => 0 [flags] => 112 [level] => 1 [chunk_size] => 0 [buffer_size] => 16384 [buffer_used] => 2048 ) [1] => Array ( [name] => URL-Rewriter [type] => 0 [flags] => 112 [level] => 2 [chunk_size] => 0 [buffer_size] => 16384 [buffer_used] => 1024 ) )

参见

To Top