出力バッファリング制御
- はじめに
- インストール/設定
- 定義済み定数
- 出力バッファリング
- システムバッファのフラッシュ
- ユーザーレベルの出力バッファ
- 例
- 出力制御 関数
- 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 — URL リライタの値を追加する
- output_reset_rewrite_vars — URL リライタの値をリセットする
+add a note
User Contributed Notes 1 note
clancy hood at gmail dot com ¶
15 years ago
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.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google