ページのキャッシュとは、ページをファイルに保存し、次回読み出すときにデータベースにクエリせずにそのファイルを直接呼び出すことです。ここでは、それを実現するための 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>オレンジとオレンジを比べるようなものです。 p>
<ボディ>
|
詳細については、公式ウェブサイトのマニュアルを参照してください。
http://www.bkjia.com/PHPjc/632725.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632725.html技術記事ページ キャッシュとは、ページをファイルに保存し、次回の読み取り時にデータベースにクエリを実行せずにそのファイルを直接呼び出すことです。ここでは、これを実現するための ob_start() の使用方法を紹介します。 コード例は次のとおりです コードをコピー...