PHP文件缓存类示例分享

 更新时间:2015年01月30日 16:34:58   投稿:hebedich  
这里给大家分享一个php文件缓存类,十分实用,给需要的小伙伴们参考下。

复制代码 代码如下:

<?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生成与读取excel文件

    php生成与读取excel文件

    在网站的管理后台经常会使用到报表的生成和读取,CSV和Excel都是常用的报表格式,本文是介绍php生成与读取excel文件,需要的朋友可以来了解一下。
    2016-10-10
  • vmware linux系统安装最新的php7图解

    vmware linux系统安装最新的php7图解

    在本篇文章中我们给大家分享了关于vmware linux系统安装最新的php7的相关知识点内容,需要的朋友们学习下。
    2019-04-04
  • PHP实现基于状态的责任链审批模式详解

    PHP实现基于状态的责任链审批模式详解

    这篇文章主要介绍了PHP实现基于状态的责任链审批模式,结合实例形式详细分析了责任链审批模式的原理及相关php实现流程,需要的朋友可以参考下
    2019-05-05
  • Yii2框架加载css和js文件的方法分析

    Yii2框架加载css和js文件的方法分析

    这篇文章主要介绍了Yii2框架加载css和js文件的方法,结合实例形式简单分析了Yii框架加载css和js文件的相关操作技巧与注意事项,需要的朋友可以参考下
    2019-05-05
  • PHP获取本周所有日期或者最近七天所有日期的方法

    PHP获取本周所有日期或者最近七天所有日期的方法

    这篇文章主要介绍了PHP获取本周所有日期或者最近七天所有日期的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • PHP实现简易图形计算器

    PHP实现简易图形计算器

    这篇文章主要为大家详细介绍了PHP实现简易图形计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • Yii redis集合的基本使用教程

    Yii redis集合的基本使用教程

    这篇文章主要给大家介绍了关于Yii redis集合的基本使用教程,文中通过示例代码介绍的非常详细,对大家学习或者使用Yii、redis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • ThinkPHP中使用Ueditor富文本编辑器

    ThinkPHP中使用Ueditor富文本编辑器

    这篇文章主要介绍了ThinkPHP中使用Ueditor富文本编辑器,需要的朋友可以参考下
    2015-09-09
  • eclipse php wamp配置教程

    eclipse php wamp配置教程

    这篇文章主要为大家详细介绍了eclipse php wamp配置教程,极其简单的php入门教程,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Yii2框架操作数据库的方法分析【以mysql为例】

    Yii2框架操作数据库的方法分析【以mysql为例】

    这篇文章主要介绍了Yii2框架操作数据库的方法,结合实例形式分析了Yii2框架配置、连接mysql数据库及执行SQL进行增删改查等相关操作技巧,需要的朋友可以参考下
    2019-05-05

最新评论