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_xmlhttp 乱码问题解决方法
Aug 07 PHP
php strcmp使用说明
Apr 22 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
php无限遍历目录示例
Feb 21 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
php中array_unshift()修改数组key注意事项分析
May 16 PHP
php连接微软MSSQL(sql server)完全攻略
Nov 27 PHP
php防止表单重复提交实例讲解
Feb 11 PHP
thinkphp5使用无限极分类
Feb 18 PHP
PHP操作XML中XPath的应用示例
Jul 04 PHP
php用wangeditor3实现图片上传功能
Aug 22 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
Python使用pymysql小技巧
2017/06/04 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
Python构建网页爬虫原理分析
2017/12/19 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
Python递归函数实例讲解
2019/02/27 Python
python读写csv文件的方法
2019/08/13 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
《灰雀》教学反思
2016/02/19 职场文书