首页 > 开发 > PHP > 正文

ThinkPHP文件缓存类代码分享

2024-05-04 22:37:23
字体:
来源:转载
供稿:网友

取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧。

<?php  /**   * @desc 文件缓存   */  class Cache{    const C_FILE = '/Runtime/';    private $dir = '';    const EXT = '.tpl';    private $filename = '';    public function __construct($dir = ''){      $this->dir = $dir;          }    /**     *  @desc 设置文件缓存     *  @param string $key 文件名      *  @param unkonw $data 缓存数据     *  @param int  $expire 过期时间     */    public function set($key,$data,$expire = 0){      $this->filename =   dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;      if(file_exists($this->filename)){        $res = $this->get($key);        if(md5($res) == md5(json_encode($data) ) ){          return true;        }      }      if(!is_dir(dirname($this->filename))){        mkdir(dirname($this->filename),0777);      }            $source = fopen($this->filename,'w+');      fwrite($source,json_encode($data));      fclose($source);    }        /**     *  @desc 获取文件     * @param string $key 文件名     */    public function get($key){      //$filename = dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;      if(!file_exists($this->filename)){        return '缓存文件已经不存在';      }else{        $res = file_get_contents($this->filename);      }      return $res;    }    /**     *  @desc 删除文件     * @param string $key 文件名     */    public function del($key){      unlink($this->filename);    }      }    $data = array('name'=>'song','age'=>20,'sex'=>'man','favority'=>array('apple','banana'));  $cache = new Cache();  $cache->set('cache',$data);  //$cache->get('cache');  //$cache->del('cache');

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表