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 相关文章推荐
substr()函数中文版
Oct 09 PHP
echo, print, printf 和 sprintf 区别
Dec 06 PHP
php 仿Comsenz安装效果代码打包提供下载
May 09 PHP
PHP用GD库生成高质量的缩略图片
Mar 09 PHP
PHP @ at 记号的作用示例介绍
Oct 10 PHP
php身份证号码检查类实例
Jun 18 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
Jan 14 PHP
学习PHP的数组总结【经验】
May 05 PHP
PHP7.1新功能之Nullable Type用法分析
Sep 26 PHP
php unicode编码和字符串互转的方法
Aug 12 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
PHP设计模式(观察者模式)
Jul 07 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 数据库的一个例子
2006/10/09 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
详解Nodejs之npm&amp;package.json
2017/06/15 NodeJs
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
跟老齐学Python之一个免费的实验室
2014/09/14 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
django rest framework 自定义返回方式
2020/07/12 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
RealTek面试题
2016/06/28 面试题
yy结婚证婚词
2014/01/10 职场文书
房产转让协议书
2014/04/11 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
国庆阅兵观后感
2015/06/15 职场文书