>  기사  >  백엔드 개발  >  PHP 파일 캐싱 기능

PHP 파일 캐싱 기능

高洛峰
高洛峰원래의
2016-11-30 13:30:451492검색

코드는 다음과 같습니다.

function createHashDir($sign) 
{ 
$md5 = md5($sign); 
if(!is_dir(MB_CACHE)) mkdir(MB_CACHE); 
for($i=1;$i<=4;$i++) 
{ 
$dir .= $md5{$i}.&#39;/&#39;; 
if(!is_dir(MB_CACHE.$dir)) 
{ 
mkdir(MB_CACHE.$dir); 
} 
} 
return MB_CACHE.$dir; 
} 
function setCacheFile($data,$sign = &#39;a&#39;,$type = &#39;array&#39;,$id = &#39;&#39;) 
{ 
$cacheDir = $this -> createHashDir($sign); 
if(!empty($data)) 
{ 
$id = $id ? $id : $sign; 
$cacheFile = $cacheDir.$id.&#39;.php&#39;; 
$content = $type == &#39;array&#39; ? var_export($data,true) : $data; 
file_put_contents($cacheFile,&#39;<?php $&#39;.$sign.&#39; = &#39;.$content.&#39;; ?>&#39;); 
} 
} 
function getCacheFile($sign = &#39;a&#39;,$id = &#39;&#39;) 
{ 
$cacheDir = $this -> createHashDir($sign); 
$id = $id ? $id : $sign; 
$cacheFile = $cacheDir.$id.&#39;.php&#39;; 
if(is_file($cacheFile) && include_once($cacheFile)) 
{ 
return $$sign; 
} 
} 
function getCacheFilePath($sign = &#39;a&#39;,$id = &#39;&#39;) 
{ 
$cacheDir = $this -> createHashDir($sign); 
$id = $id ? $id : $sign; 
return $cacheDir.$id.&#39;.php&#39;; 
} 
function delCacheFile($sign = &#39;a&#39;) 
{ 
$cacheDir = $this -> createHashDir($sign); 
$id = $id ? $id : $sign; 
$cacheFile = $cacheDir.$id.&#39;.php&#39;; 
$this -> del_file($cacheFile); 
}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.