バッファリング

関数出力バッファリング制御

buffering

 状態:-  閲覧数:2,330  投稿日:2014-01-07  更新日:2014-01-21  
・複数の機器やソフトウェアの間でデータをやり取りするときに、処理速度や転送速度の差を補うためにデータを専用に設けられた記憶領域一時的に保存しておくこと
・バッファとの違いは、バッファが「データの一時的な保存場所のこと」を意味するのに対し、バッファリングは「バッファにデータを一時的に保存しておくこと」自体を指す

具体的な使用例
・負荷のかかる出力処理より本来の処理を優先させ、後から、バッファリングしたデータを出力させる、など


PHP


PHPにおける出力バッファリング制御
・出力制御関数により、「スクリプトから送信される出力」を制御することが可能
・「出力を制御」とは、簡単に言えば、そのまま出力するのではなく、一旦バッファに格納し、コールバック関数で何らかの処理を施したり変数に格納したりして、内容を変更したり出力順番を変更したりすること

使用例
・スクリプトがデー タ出力を開始した後、ヘッダをブラウザに送信(※デー タ出力後にヘッダをブラウザに送信すれば、通常、エラーとなる)
・なお、出力制御関数は、header() または setcookie()を使用して送信されたヘッダには作用せず、echo() のような関数と「PHPコードのブロック間 のデータ」にのみ作用する


ob_start

コメント投稿(ログインが必要)



週間人気ページランキング / 11-16 → 11-22
順位 ページタイトル抜粋 アクセス数
1 ブラウザを閉じたらセッションデータはどうなるの? | セッション 8
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 5
3 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 4
3 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 4
4 PHPで定数を定義する方法は2種類ある / 配列定数の定義 3
4 インポートするデータを受信できませんでした。ファイル名が送信されていないか、ファイルサイズが PHP の設定で許可された最大値を超えています。FAQ 1.16 をご覧ください | エラーメッセージ 3
4 ブラウザを閉じたらセッションデータはどうなるの? | セッション 3
4 クラスの継承 | クラスとオブジェクト 3
5 curl で Cookie を使用する 2
5 例外処理 | 制御構造 2
5 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 2
5 関数定義内での「外部ファイル読込」 | 制御構造 2
5 set_error_handler | 例外処理(制御構造) 2
5 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined | Fatal error(エラーメッセージ) 2
5 コード例 … 「例外処理」はネストすることができる 2
5 PHP用語 2
5 register_shutdown_function | 関数処理 関数 2
6 クロージャ | 関数 1
6 session.cookie_lifetime / session.use_cookies | セッション 1
6 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 1
2024/11/23 1:01 更新