php_PHP チュートリアルの組み込み関数のバッファリング

WBOY
リリース: 2016-07-13 17:45:35
オリジナル
886 人が閲覧しました


PHP 出力バッファリング (出力バッファリング) とは、PHP がブラウザーに送信しようとしているすべてのコンテンツを一時的にバッファーに置き、PHP プログラム全体が実行された後にバッファーのコンテンツを出力することを意味します。


PHP のバッファリングに関連するほとんどすべての組み込み関数は ob_ で始まります。さらに、PHP 設定ファイル php.ini には、出力バッファリング命令がありますが、通常はオフになっていますが、使用するときに手動でオンにすることができます (オンにすると、すべての PHP プログラムでバッファリングが実行されます)。 )。


バッファリングはいつ使用するのでしょうか?これは通常、セッションと Cookie を設定するときに使用されます。セッションと Cookie には事前に出力を含めることができないため、出力バッファリング メカニズムを有効にする必要があります。


1. バッファリング関数を有効にして終了します - ob_start()、ob_end_flush()


バッファリングが外部で使用されている場合、ob_start() でバッファリングを開始し、ob_end_flush() でバッファリングを終了できます。よく使用されるいくつかの関数:


ob_flush() - 事前にバッファを送信し、ob_start() と ob_flush() の間の出力を事前に (php プログラム全体が終了する前に) ブラウザに送信します。

ob_clean() - キャッシュをクリアします。 ob_start() と ob_clean() の間の出力バッファは表示のためにブラウザに送信されません。

ob_end_clean() - ob_clean() と同様に前のバッファをクリアします。違いは、バッファ関数全体を終了し、その後の出力コンテンツはすべてバッファに入れられないことです。

ob_start() は複数レベルのネストで使用でき、大きなバッファを開いて、必要に応じて特定のバッファをクリアできます。


2. ob_start() を使用して、出力をブラウザではなくバッファに出力します。


次に、ob_get_contents を使用してバッファ データを取得します。 ob_start() は、すべての出力を保持するためにサーバー上のバッファを開きます。そのため、echo が使用されるたびに、プログラムが終了するか、ob_flush() を使用して終了されるまで、出力はバッファーに追加されます。次に、サーバー内のバッファの内容がブラウザに送信され、ブラウザによって解析されて表示されます。


このとき、バッファの内容を取得するには、ob_get_contents() 関数を ob_end_clean() の前で使用する必要があります。

この場合、ob_end_clean()を実行する前に内容を変数に保存し、ob_end_clean()の後にその変数を操作することができます。


ob_start();
echo '中国共産党はどうですか?';
$name = ob_get_contents();
$length = ob_get_length();
ob_end_clean();

エコー $name;


著者「wbgod_1987」

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478663.html技術記事 PHP 出力バッファリング (Output Buffering) とは、PHP がブラウザーに送信しようとしているすべてのコンテンツをバッファーに一時的に配置し、PHP プログラム全体が実行された後にバッファーのコンテンツを出力することを意味します...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!