설명 자세한 설명이 포함된 PHP 캐싱 클래스 코드

WBOY
풀어 주다: 2016-07-29 08:45:29
원래의
882명이 탐색했습니다.

코드 복사 코드는 다음과 같습니다.


define('CACHE_ROOT', dirname(__FILE__). '/cache'); //캐시 저장 디렉터리
define('CACHE_TIME', 1800); //캐시 시간 단위 초
define('CACHE_FIX','.html'); md5($ _SERVER['REQUEST_URI']).CACHE_FIX; //캐시 파일명
$CacheDir=CACHE_ROOT.'/'.substr($CacheName,0,1);//캐시 파일 저장 디렉터리
$ CacheUrl=$ CacheDir.'/'.$CacheName;//캐시된 파일의 전체 경로
//캐시는 GET 모드에서 요청할 때만 캐시됩니다. 일반적으로 POST 후에는 최신 결과를 보고 싶어합니다
if($_SERVER['REQUEST_METHOD']= ='GET'){
//캐시 파일이 존재하고 만료되지 않은 경우 읽어보세요.
if(file_exists($CacheName) && time()-filemtime($CacheName)$fp=fopen($CacheName,'rb')
fpassthru($fp);
fclose($fp);
exit;
}
//폴더가 있는지 확인하고 없으면 만듭니다.
elseif(!file_exists($CacheDir)){
if (!file_exists(CACHE_ROOT)){
mkdir(CACHE_ROOT,0777)
chmod(CACHE_ROOT,0777)
}
mkdir($CacheDir,0777); ($CacheDir ,0777)
}
//콜백 함수, 프로그램 종료 시 자동으로 호출되는 함수
function AutoCache($contents){
global $CacheUrl; =fopen($ CacheUrl,'wb');
fwrite($fp,$contents);
fclose($fp)
chmod($CacheUrl,0777)//생성 중 새 캐시, 공간을 절약하기 위해 이전 캐시를 모두 자동으로 삭제하며 무시할 수 있습니다.
//DelOldCache();
return $contents;
}
function DelOldCache(){
chdir(CACHE_ROOT)
foreach(glob("*/*".CACHE_FIX) ) as $file){
if(time()-filemtime($file)>CACHE_TIME)unlink($file)
}
}
//콜백 함수 auto_cache
ob_start ('AutoCache');
}else{
//GET 요청이 아닌 경우 캐시 파일을 삭제합니다.
if(file_exists($CacheUrl))unlink($CacheUrl)
}
?>
이상으로 안내사항을 소개하였으며, 안내사항을 포함한 자세한 안내사항이 첨부되어 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿