程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP文件緩存類,

PHP文件緩存類,

編輯:關於PHP編程

PHP文件緩存類,


 1 <?php
 2     /**
 3      * @desc 文件緩存
 4      */
 5     class Cache{
 6         const C_FILE = '/Runtime/';
 7         private $dir = '';
 8         const EXT = '.tpl';
 9         private $filename = '';
10         public function __construct($dir = ''){
11             $this->dir = $dir;
12             
13         }
14         /**
15          *    @desc 設置文件緩存
16          *    @param string $key 文件名 
17          *    @param unkonw $data 緩存數據
18          *    @param int    $expire 過期時間
19          */
20         public function set($key,$data,$expire = 0){
21             $this->filename =     dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;
22             if(file_exists($this->filename)){
23                 $res = $this->get($key);
24                 if(md5($res) == md5(json_encode($data) ) ){
25                     return true;
26                 }
27             }
28             if(!is_dir(dirname($this->filename))){
29                 mkdir(dirname($this->filename),0777);
30             }
31             
32             $source = fopen($this->filename,'w+');
33             fwrite($source,json_encode($data));
34             fclose($source);
35         }
36         
37         /**
38          *    @desc 獲取文件
39          *  @param string $key 文件名
40          */
41         public function get($key){
42             //$filename = dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;
43             if(!file_exists($this->filename)){
44                 return '緩存文件已經不存在';
45             }else{
46                 $res = file_get_contents($this->filename);
47             }
48             return $res;
49         }
50         /**
51          *    @desc 刪除文件
52          *  @param string $key 文件名
53          */
54         public function del($key){
55             unlink($this->filename);
56         }
57         
58     }
59     
60     $data = array('name'=>'song','age'=>20,'sex'=>'man','favority'=>array('apple','banana'));
61     $cache = new Cache();
62     $cache->set('cache',$data);
63     //$cache->get('cache');
64     //$cache->del('cache');

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved