PHP教程:简单实用的缓存函数

网络整理 - 08-03
/**
 * @说明: 文件缓存输出
 * @参数: $cachefile => cache文件(绝对路径)
 * @参数: $pertime => 缓存输出的间隔时间
 * @参数: $sql => sql语句
 * @参数: $templatefile => 模板文件名称(绝对路径)
**/
function __cache($cachefile,$pertime,$sql,$templatefile) {
 global $db;
 if(time() - @filemtime($cachefile) >= $pertime) {
  $query = $db->query($sql);
  while($r=$db->fetch($query)) {
   $cachelist[] = $r;
  } 
  include $templatefile.'.php';
  $cacheserialize = serialize($cachelist);
  file_put_contents($cachefile,$cacheserialize);
 }else{
  $cachelist = unserialize(file_get_contents($cachefile));
  include $templatefile.'.php';
 }
}