ThinkPHP文件缓存类代码分享
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-22 21:47:34 浏览: 评论:0
本文给大家分享的是取自ThinkPHP中的关于文件缓存类的代码,非常的实用,效率也非常不错,这里推荐给大家,有需要的小伙伴参考下。
取自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');
Tags: ThinkPHP文件缓存类
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)