PHP Conference Nagoya 2025

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_statustrue に設定されている場合は、すべてのアクティブな出力バッファの ステータス情報を返します。

パラメータ

full_status

true を指定すると、すべてのアクティブな出力バッファを返します。 false を指定した場合、あるいは省略した場合は、 トップレベルの出力バッファのみを返します。

戻り値

full_status が省略されるか、false の場合、 出力レベルがアクティブなステータス情報を持つ配列を返します。

full_statustrue の場合、 アクティブな出力バッファの階層をひとつの要素とする配列を返します。 出力レベルは配列のトップレベルのキーとして使われ、 それぞれの配列の要素自体は、 単一のアクティブな出力レベルのステータス情報を持つ配列になります。

出力バッファが有効になっていない場合は、 空の配列が返されます。

ob_get_status() が返す配列の要素
KeyValue
name アクティブな出力ハンドラの名前 (詳細は ob_list_handlers() の戻り値を参照下さい)
type 0 (内部ハンドラ) あるいは 1 (ユーザー指定のハンドラ)
flags ob_start() が設定したフラグのビットマスク。 出力ハンドラのタイプ(上記を参照) と、 バッファリング中のプロセス ( PHP_OUTPUT_HANDLER_* 定数)。 ハンドラのバッファの処理が成功し、false を返さなかった場合、 PHP_OUTPUT_HANDLER_STARTEDPHP_OUTPUT_HANDLER_PROCESSED が設定されます。 ハンドラのバッファの処理が失敗するか、false を返した場合、 PHP_OUTPUT_HANDLER_STARTEDPHP_OUTPUT_HANDLER_DISABLED が設定されます。
level 出力階層レベル(ゼロから始まります)。 ob_get_level() が返す階層の値とは、 ひとつずれることに注意して下さい。 ob_get_status() が返す最初のレベルは 0 ですが、ob_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
        )

)

参考

add a note

User Contributed Notes 1 note

up
4
rmagalhaess at hotmail dot com
7 years ago
The fields inside the array returned by ob_get_status() are:

Array
(
[name] => default output handler
[type] => 0
[flags] => 112
[level] => 1
[chunk_size] => 0
[buffer_size] => 16384
[buffer_used] => 0
)

These values are filled just after the function ob_start()
To Top