php 文件缓存函数

代码如下:

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

相关推荐