快速业务通道

一个PHP缓存类

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-23

 cache.inc.php:

  <?php   class Cache {    /**     * $dir : 缓存文件存放目录     * $lifetime : 缓存文件有效期,单位为秒     * $cacheid : 缓存文件路径,包含文件名     * $ext : 缓存文件扩展名(可以不用),这里使用是为了查看文件方便    */    private $dir;    private $lifetime;    private $cacheid;    private $ext;    /**     * 析构函数,检查缓存目录是否有效,默认赋值    */    function __construct($dir='''',$lifetime=1800) {        if ($this->dir_isvalid($dir)) {            $this->dir = $dir;            $this->lifetime = $lifetime;            $this->ext = ''.Php'';            $this->cacheid = $this->getcacheid();        }    }    /**     * 检查缓存是否有效    */    private function isvalid() {        if (!file_exists($this->cacheid)) return false;        if (!(@$mtime = filemtime($this->cacheid))) return false;        if (mktime() - $mtime > $this->lifetime) return false;        return true;    }    /**     * 写入缓存     * $mode == 0 , 以浏览器缓存的方式取得页面内容     * $mode == 1 , 以直接赋值(通过$content参数接收)的方式取得页面内容     * $mode == 2 , 以本地读取(fopen ile_get_contents)的方式取得页面内容(似乎这种方式没什么必要)    */    public function write($mode=0,$content='''') {        switch ($mode) {            case 0:                $content = ob_get_contents();                break;            default:                break;        }        ob_end_flush();        try {            file_put_contents($this->cacheid,$content);        }        catch (Exception $e) {            $this->error(''写入缓存失败!请检查目录权限!'');        }    }    /**     * 加载缓存     * exit() 载入缓存后终止原页面程序的执行,缓存无效则运行原页面程序生成缓存     * ob_start() 开启浏览器缓存用于在页面结尾处取得页面内容    */    public function load() {        if ($this->isvalid()) {            echo "<span style=''display:none;''>This is Cache.</span>

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号