キャッシュ テクノロジの簡単な紹介は次のとおりです: 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);//通常は最後の行
?>