ホームページ  >  記事  >  php教程  >  PHPページキャッシュOBシリーズ関数の紹介

PHPページキャッシュOBシリーズ関数の紹介

WBOY
WBOYオリジナル
2016-06-13 11:56:38952ブラウズ

キャッシュ テクノロジの簡単な紹介は次のとおりです: http://www.jb51.net/article/4965.htm

PHP ページのキャッシュでは、主に ob_start()、ob_end_flush などの ob シリーズの関数が使用されます。 (),ob_get_contents()

以下はエンコード部分です。

1. 初期化機能。通常はページのキャッシュ パス、キャッシュ ファイルの命名形式などを設定します。これらは個人の好みに応じてカスタマイズできます。ここで使用される識別 ID は、暗号化された $_SERVER[REQUEST_URI] パラメーターです。この関数の最後には if 判定があり、キャッシュ期間が経過していない場合はキャッシュ ファイルをロードし、そうでない場合はソース ファイルをロードします。

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


function page_init()
{
$ url = $ _SERVER['REQUEST_URI'];//サブ URL、このパラメータは通常一意です
$pageid = md5($url);
$dir = str_replace('/','_',substr( $_SERVER ['SCRIPT_NAME'],1,-4));
//exp_index などのディレクトリ命名方法
if(!file_exists($pd = PAGE_PATH.$dir.'/'))@mkdir ($pd ,0777) または die("$pd ディレクトリの作成に失敗しました");
//cache/page/exp_index/ など
define('PAGE_FILE',$pd.$pageid.'.html' );
//cache/page/exp_index/cc8ef22b405566745ed21305dd248f0e.html など
$contents = file_get_contents(PAGE_FILE);//

if($contents && substr($contents, 13) , 10) > time() )//page_cache() 関数に追加されたカスタムヘッダーに対応します
echo substr($contents, 27); }
return true;
}



2. ここでは、ヘッダー情報 (有効期限) をキャッシュ ファイルの内容に追加します。したがって、今回はヘッダーの有効期限と現在の時刻 (page_init() 関数で実行) を比較するだけで、キャッシュの有効期限が切れているかどうかを判断できます。




コードをコピーします

コードは次のとおりです: function page_cache($ttl = 0)

{

$ttl = $ttl ? $ttl : PAGE_TTL;// キャッシュ時間、デフォルトは 3600 秒
$contents = ob_get_contents();// キャッシュからコンテンツを取得します
$contents = "n".$contents;
//カスタムヘッダーを追加します: 有効期限 = 生成時間 キャッシュ時間
file_put_contents(PAGE_FILE, $contents);//writeキャッシュ ファイルへ
ob_end_flush();//キャッシュを解放します
}


3. 関数の使用法。これら 2 つの関数には実行順序があることに注意してください。 ob_start( ) を忘れます



コードをコピー

コードは次のとおりです。 page_init(); //ページキャッシュの初期化

ob_start();//キャッシュを有効にする

...//コードセグメント

page_cache(60);//通常は最後の行

?>



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