ホームページ  >  記事  >  バックエンド開発  >  PHP での ob_get_contents();ob_end_clean();ob_start(); の使用法の詳細な説明

PHP での ob_get_contents();ob_end_clean();ob_start(); の使用法の詳細な説明

WBOY
WBOYオリジナル
2016-07-25 08:58:291265ブラウズ
この記事では、PHP の ob_get_contents()、ob_end_clean()、および ob_start() 関数の具体的な使用法を紹介します。必要な方は参照してください。

phpキャッシュ関連の関数: ob_get_contents(); ob_end_clean(); ob_start()

ob_start() を使用して、出力をブラウザではなくバッファに出力します。 次に、ob_get_contents を使用してバッファ データを取得します。

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

関数 ob_end_clean はバッファの内容をクリアしてバッファを閉じますが、内容は出力しません。 このとき、関数 ob_get_contents() を ob_end_clean() の前で使用して、バッファの内容を取得する必要があります。 この場合、ob_end_clean()を実行する前に内容を変数に保存し、ob_end_clean()の後にその変数を操作することができます。

例:

リーリー

以下をご覧ください、ob_get_contents

(PHP 4、PHP 5) ob_get_contents -- 出力バッファの内容を返します。 説明 文字列 ob_get_contents (無効)

これは、出力バッファリングがアクティブでない場合は、出力バッファの内容または FALSE を返します。

ob_start() と ob_get_length() も参照してください。

コールバック関数をパラメータとして ob_start を使用し、その関数が ob 文字列を変更する場合 (マニュアルの例のように)、ob_get_contents が変更された ob を返すことを期待しないでください。 パラメータをまったく指定せずに ob_start を使用する場合と同様に、動作が混乱するため、使用しないでください。 画像を転送する、別の方法 (fsockopen または関数ソケットの代替):

サーバー(192.168.0.1) メイクイメージ.php

リーリー

当然、画像だけでなく何でも転送できます

ob_g​​et_clean

(PHP 4 >= 4.3.0、PHP 5) ob_get_clean -- 現在のバッファの内容を取得し、現在の出力バッファを削除します 説明 文字列 ob_get_clean (void)

これにより、出力バッファの内容が返され、出力バッファリングが終了します。出力バッファリングがアクティブでない場合、ob_get_clean() は基本的に ob_get_contents() と ob_end_clean() の両方を実行します。

例 1: ob_get_clean() の簡単な例

リーリー

出力: string(11) "hello world"

例 2、ob_start() と ob_get_contents()。 以下の関数はエラーをキャッチしないので、ob_* 呼び出しの前に @ をスローすることに注意してください。 PHP4 りー

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。