详细讲解PHP中缓存技术的应用

http://tech.ddvip.com   2007年09月20日    社区交流

内容摘要:本文讲解PHP中缓存技术的应用

  这个方法输出错误信息.

functionget_url(){
    if(!isset($_SERVER['REQUEST_URI'])){
        $url=$_SERVER['REQUEST_URI'];
    }else{
        $url=$_SERVER['SCRIPT_NAME'];
        $url.=(!empty($_SERVER['QUERY_STRING']))?'?'.$_SERVER['QUERY_STRING']:'';
    }
    return$url;
}

  这个方法返回当前url的信息,这是我看国外很多人的cms系统这样做,主要是缓存x.php?page=1,x.php?page=2,等这种文件的,这里列出是为了扩展的这个cache类功能的.

functioncache_page($pageurl,$pagedata){
  if(!$fso=fopen($pageurl,'w')){
    $this->warns('无法打开缓存文件.');//trigger_error
    returnfalse;
  }
  if(!flock($fso,LOCK_EX)){//LOCK_NB,排它型锁定
    $this->warns('无法锁定缓存文件.');//trigger_error
    returnfalse;
  }
  if(!fwrite($fso,$pagedata)){//写入字节流,serialize写入其他格式
    $this->warns('无法写入缓存文件.');//trigger_error
    returnfalse;
  }
  flock($fso,LOCK_UN);//释放锁定
  fclose($fso);
  returntrue;
}

  cache_page方法分别传入的是缓存的文件名称和数据,这是把数据写到文件里的方法,先用fopen打开文件,然后调用句柄锁定这个文件,然后用fwrite写入文件,最后释放这个句柄,任何一步发生错误将抛出错误.您可能看到这个注释

责编:豆豆技术应用

正在加载评论...