(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
ob_get_status — 出力バッファのステータスを取得する
ob_get_status() は、トップレベルの出力バッファの ステータス情報を返します。full_status
が true
に設定されている場合は、すべてのアクティブな出力バッファの ステータス情報を返します。
full_status
が省略されるか、false
の場合、 出力レベルがアクティブなステータス情報を持つ配列を返します。
full_status
が true
の場合、 アクティブな出力バッファの階層をひとつの要素とする配列を返します。 出力レベルは配列のトップレベルのキーとして使われ、 それぞれの配列の要素自体は、 単一のアクティブな出力レベルのステータス情報を持つ配列になります。
出力バッファが有効になっていない場合は、 空の配列が返されます。
Key | Value |
---|---|
name | アクティブな出力ハンドラの名前 (詳細は ob_list_handlers() の戻り値を参照下さい) |
type | 0 (内部ハンドラ) あるいは 1 (ユーザー指定のハンドラ) |
flags | ob_start() が設定したフラグのビットマスク。 出力ハンドラのタイプ(上記を参照) と、 バッファリング中のプロセス (PHP_OUTPUT_HANDLER_* 定数)。 ハンドラのバッファの処理が成功し、false を返さなかった場合、 PHP_OUTPUT_HANDLER_STARTED と PHP_OUTPUT_HANDLER_PROCESSED が設定されます。 ハンドラのバッファの処理が失敗するか、false を返した場合、 PHP_OUTPUT_HANDLER_STARTED と PHP_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_status
が false
の場合に返される配列
Array ( [name] => URL-Rewriter [type] => 0 [flags] => 112 [level] => 2 [chunk_size] => 0 [buffer_size] => 16384 [buffer_used] => 1024 )
例2 full_status
が true
の場合に返される配列
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 ) )