欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ThinkPHP文件緩存類代碼分享

 更新時(shí)間:2015年04月22日 09:35:24   投稿:hebedich  
本文給大家分享的是取自ThinkPHP中的關(guān)于文件緩存類的代碼,非常的實(shí)用,效率也非常不錯(cuò),這里推薦給大家,有需要的小伙伴參考下。

取自ThinkPHP的文件緩存類代碼,這里就不多廢話了,小伙伴們自己看注釋吧。

<?php
  /**
   * @desc 文件緩存
   */
  class Cache{
    const C_FILE = '/Runtime/';
    private $dir = '';
    const EXT = '.tpl';
    private $filename = '';
    public function __construct($dir = ''){
      $this->dir = $dir;
      
    }
    /**
     *  @desc 設(shè)置文件緩存
     *  @param string $key 文件名 
     *  @param unkonw $data 緩存數(shù)據(jù)
     *  @param int  $expire 過期時(shí)間
     */
    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 '緩存文件已經(jīng)不存在';
      }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');

相關(guān)文章

最新評(píng)論