PHP文件缓存类示例分享


Posted in PHP onJanuary 30, 2015
<?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');
PHP 相关文章推荐
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
php递归删除目录与文件的方法
Jan 30 #PHP
php递归法读取目录及文件的方法
Jan 30 #PHP
php实现简单文件下载的方法
Jan 30 #PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 #PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 #PHP
PHP速成大法
Jan 30 #PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 #PHP
You might like
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
js的闭包的一个示例说明
2008/11/18 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python 统计字数的思路详解
2018/05/08 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
基于python实现对文件进行切分行
2020/04/26 Python
python打开音乐文件的实例方法
2020/07/21 Python
python 调整图片亮度的示例
2020/12/03 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
意大利奢侈品网站:Italist
2016/08/23 全球购物
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
中专毕业生求职简历的自我评价
2013/10/21 职场文书
经典的班主任推荐信
2013/10/28 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
实习指导教师评语
2014/12/30 职场文书
2015年读书月活动总结
2015/03/26 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
校园安全教育心得体会
2016/01/15 职场文书