ホームページ > バックエンド開発 > PHPチュートリアル > php ob_start() 関数は、現在のページ content_PHP チュートリアルのキャッシュ出力を実装します。

php ob_start() 関数は、現在のページ content_PHP チュートリアルのキャッシュ出力を実装します。

WBOY
リリース: 2016-07-13 10:49:10
オリジナル
1009 人が閲覧しました

ページのキャッシュとは、ページをファイルに保存し、次回読み出すときにデータベースにクエリせずにそのファイルを直接呼び出すことです。ここでは、それを実現するための ob_start() の使用方法を紹介します。


コードは次のとおりです コードをコピー

ob_start(); //バッファをオープンします
phpinfo(); //phpinfo関数を使用します
$info=ob_get_contents(); //バッファの内容を取得して $info に代入します
$file=fopen('info.txt','w'); // ファイル info.txt を開きます
fwrite($file,$info); //info.txt に情報を書き込みます
fclose($file); // ファイル info.txt を閉じる
//または直接 file_put_content('info.txt',$info) を使用します
; ?>

上記の方法では、さまざまなユーザーのphpinfo情報を保存できます。

ここでは、このメソッドの使用スキルに焦点を当てて、静的ページを生成する利便性を実現します。

そして、このメソッドを使用することは、file_get_conents() を使用するよりも合理的かつ効率的です。

アプリケーションについて簡単に説明しましょう。たとえば、phpinfo() の内容をファイルに書き込みたい場合は、次のようにすることができます。

コードは次のとおりですコードをコピー
ob_start();

$phpinfo = phpinfo();
// ファイルに書き込みます
ob_end_flush();

または次のような他の用途もあります:

ob_start(); //バッファをオープンします

echo "こんにちは" //出力
header("location:index.php"); //ブラウザをindex.phpにリダイレクトします
ob_end_flush();//すべてのコンテンツをブラウザに出力します

header() はファイル ヘッダーをブラウザに送信しますが、header() の前に出力がある場合 (スペース、キャリッジ リターン、ライン フィードなどの空の出力を含む)、エラーが報告されます。ただし、出力が ob_start() と ob_end_flush() の間にある場合は問題ありません。出力前にバッファがオープンされるため、echo後の文字はブラウザには出力されず、サーバー上に保持され、flushが使用されるまで出力されないため、header()は正常に実行されます。

もちろん、ob_start() にはパラメータを指定することもでき、そのパラメータはコールバック関数です。例は次のとおりです:

コードは次のとおりですコードをコピー
関数コールバック($buffer)
{
// すべてのリンゴをオレンジに置き換えます
Return (str_replace("リンゴ", "オレンジ", $buffer));
}
ob_start("コールバック");
?>

<本体>

リンゴとオレンジを比較するようなものです。


<ボディ>

< ?php
ob_end_flush();
?>

上記のプログラムは次のように出力します:

<本体>
< p>オレンジとオレンジを比べるようなものです。
<ボディ>

詳細については、公式ウェブサイトのマニュアルを参照してください。

http://www.bkjia.com/PHPjc/632725.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632725.html技術記事ページ キャッシュとは、ページをファイルに保存し、次回の読み取り時にデータベースにクエリを実行せずにそのファイルを直接呼び出すことです。ここでは、これを実現するための ob_start() の使用方法を紹介します。 コード例は次のとおりです コードをコピー...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート