PHP キャッシュ送信の原理 class_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:43:56
オリジナル
841 人が閲覧しました

define(CACHE_ROOT, dirname(__FILE__)./cache); //キャッシュ格納ディレクトリ
define(CACHE_TIME, 1800);//キャッシュ時間(秒)
define(CACHE_FIX,.html);
$CacheName=md5($_SERVER[REQUEST_URI]).CACHE_FIX; //キャッシュファイル名
;
$CacheDir=CACHE_ROOT./.substr($CacheName,0,1);//キャッシュファイル格納ディレクトリ
$CacheUrl=$CacheDir./.$CacheName;//キャッシュファイルのフルパス
//キャッシュは GET 経由でリクエストした場合にのみ行われます。通常は、最新の結果を確認する必要があります。
if($_SERVER[REQUEST_METHOD]==GET){
//キャッシュ ファイルが存在し、有効期限が切れていない場合は、それを読み出します。
if(file_exists($CacheName) && time()-filemtime($CacheName)
$fp=fopen($キャッシュ名,rb);
fパススルー($fp)
fclose($fp)
終了
}
//フォルダーが存在するかどうかを確認し、存在しない場合は作成します
elseif(!file_exists($CacheDir)){
if(!file_exists(CACHE_ROOT)){
mkdir(CACHE_ROOT,0777);
chmod(CACHE_ROOT,0777);
}
mkdir($CacheDir,0777);
chmod($CacheDir,0777);
}
//コールバック関数、この関数はプログラム終了時に自動的に呼び出されます
関数 AutoCache($contents){
グローバル $CacheUrl
$fp=fopen($CacheUrl,wb);
fwrite($fp,$contents);
fclose($fp)
chmod($CacheUrl,0777);
//新しいキャッシュの生成中に、スペースを節約するためにすべての古いキャッシュが自動的に削除されるため、無視できます。
//DelOldCache();
$content を返す;
}
関数 DelOldCache(){
chdir(CACHE_ROOT);
foreach (glob("*/*".CACHE_FIX) as $file){
if(time()-filemtime($file)>CACHE_TIME)unlink($file);

}
}
//コールバック関数 auto_cache
ob_start(自動キャッシュ);
}その他{
// GET リクエストでない場合はキャッシュ ファイルを削除します。
if(file_exists($CacheUrl))unlink($CacheUrl);
}
?>
http://www.bkjia.com/PHPjc/478808.html
www.bkjia.com
tru​​e
http://www.bkjia.com/PHPjc/478808.html
技術記事

?phpdefine(CACHE_ROOT, dirname(__FILE__)./cache); //キャッシュ格納ディレクトリdefine(CACHE_TIME, 1800) //キャッシュ時間単位define(CACHE_FIX,.html); ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!