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+dbfile开发小型留言本
Oct 09 PHP
PHP安全编程之加密功能
Oct 09 PHP
PHP的分页功能
Mar 21 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
php遍历所有文件及文件夹的方法深入解析
Jun 08 PHP
php文件上传的例子及参数详解
Dec 12 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
2013/01/23 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
Python比较两个图片相似度的方法
2015/03/13 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
Python与C/C++的相互调用案例
2021/03/04 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
2015财务年终工作总结范文
2015/05/22 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
同学联谊会邀请函
2019/06/24 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS