0

0

一个很方便的PHP缓存类!

PHP中文网

PHP中文网

发布时间:2016-05-25 17:12:23

|

1255人浏览过

|

来源于php中文网

原创

php代码

KGOGOMALL
KGOGOMALL

主要功能:无限级分类,可自由调整分类位置,商品可在各分类间自由转移; 商品组合:可以为每种商品添加多种选项,方便顾客购买选择,比如:一件衣服顾客可以选择款式、花色、大小等,笔记本电脑,可以有cpu、内存、显示屏、硬盘等等扩展属性; 会员分级功能,会员积分功能。可根据会员积分自行设定用户组,管理员可自行定义会员获得积分的方式:按订单总金额或者按单个商品给予积分; 按照商品类别查看热卖、特价,允

下载
cache_root=dirname(__FILE__).'/../cache';//缓存存放目录
	$this->file_dir=$file_dir;
	$this->cache_time=$cache_time;
	$this->file_two=$file_two;
	$this->file_fix=$file_fix;
	$this->file_name=md5($_SERVER['REQUEST_URI']).$this->file_fix;//缓存文件名
	$this->cache_file=$this->cache_dir=$this->cache_root.'/'.$this->file_dir;//缓存的二级文件夹
	if($this->file_two==1)$this->cache_dir=$this->cache_root.'/'.$this->file_dir.'/'.substr($this->file_name,0,2);//缓存的最终文件夹
	$this->cache_url=$this->cache_dir.'/'.$this->file_name;//文件存放的完整路径
	
	//GET方式请求才缓存,POST之后一般都希望看到最新的结果 
    if($_SERVER['REQUEST_METHOD']=='GET'){
      //如果缓存文件存在,并且没有过期,就把它读出来。
      if(file_exists($this->cache_url) && time()-filemtime($this->cache_url)cache_time){ 
        $fp=fopen($this->cache_url,'rb'); 
        fpassthru($fp); 
        fclose($fp); 
        exit; 
      }elseif(!file_exists($this->cache_dir)){//判断文件夹是否存在,不存在则创建
	    if(!file_exists($this->cache_file)){
		  if(!file_exists($this->cache_root)){
	        mkdir($this->cache_root,0777); 
            chmod($this->cache_root,0777);
		  }
		  mkdir($this->cache_file,0777); 
          chmod($this->cache_file,0777);
	   	  if($this->file_two==1){
            mkdir($this->cache_dir,0777); 
            chmod($this->cache_dir,0777);
		  }
	    }
	  }
	  //回调函数 AutoCache 
      //ob_start("AutoCache");
	  ob_start(array($this, "AutoCache"));
    }else{
	  //不是GET的请求就删除缓存文件 
      if(file_exists($this->cache_url))unlink($this->cache_url);
    }
  }
  function AutoCache($contents){
    $fp=fopen($this->cache_url,'wb'); 
    fwrite($fp,$contents); 
    fclose($fp); 
    chmod($this->cache_url,0777); 
    //生成新缓存的同时,自动删除所有的老缓存,以节约空间,可忽略。 
    $this->DelOldCache();
    return $contents;
  }
  function DelOldCache(){
    chdir($this->cache_root); 
    foreach (glob("*/*".$this->file_fix) as $file){ 
      if(time()-filemtime($file)>$this->cache_time)unlink($file);
    }
  }
}
?>
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

1

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

15

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.13

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP自制框架
PHP自制框架

共8课时 | 0.6万人学习

php初学者入门课程
php初学者入门课程

共10课时 | 0.6万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号