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');
您可能感興趣的文章:
- ThinkPHP調(diào)用common/common.php函數(shù)提示錯(cuò)誤function undefined的解決方法
- 獲取php頁(yè)面執(zhí)行時(shí)間,數(shù)據(jù)庫(kù)讀寫次數(shù),函數(shù)調(diào)用次數(shù)等(THINKphp)
- thinkphp跨庫(kù)操作的簡(jiǎn)單代碼實(shí)例
- thinkPHP2.1自定義標(biāo)簽庫(kù)的導(dǎo)入方法詳解
- ThinkPHP分組下自定義標(biāo)簽庫(kù)實(shí)例
- ThinkPHP使用UTFWry地址庫(kù)進(jìn)行IP定位實(shí)例
- Thinkphp調(diào)用Image類生成縮略圖的方法
- ThinkPHP調(diào)用百度翻譯類實(shí)現(xiàn)在線翻譯
- thinkPHP引入類的方法詳解
- thinkPHP自定義類實(shí)現(xiàn)方法詳解
- thinkphp實(shí)現(xiàn)無限分類(使用遞歸)
- ThinkPHP進(jìn)程計(jì)數(shù)類Process用法實(shí)例詳解
- thinkPHP簡(jiǎn)單調(diào)用函數(shù)與類庫(kù)的方法
相關(guān)文章
基于Laravel Auth自定義接口API用戶認(rèn)證的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了基于Laravel Auth自定義接口API用戶認(rèn)證的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07php文件服務(wù)實(shí)現(xiàn)虛擬掛載其他目錄示例
這篇文章主要介紹了php文件服務(wù)實(shí)現(xiàn)虛擬掛載其他目錄示例,需要的朋友可以參考下2014-04-04Yii2 hasOne(), hasMany() 實(shí)現(xiàn)三表關(guān)聯(lián)的方法(兩種)
這篇文章主要介紹了Yii2 hasOne(), hasMany() 實(shí)現(xiàn)三表關(guān)聯(lián)的方法(兩種),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02CI框架入門示例之?dāng)?shù)據(jù)庫(kù)取數(shù)據(jù)完整實(shí)現(xiàn)方法
這篇文章主要介紹了CI框架入門示例的數(shù)據(jù)庫(kù)取數(shù)據(jù)完整實(shí)現(xiàn)方法,包含了配置、建表與實(shí)現(xiàn)MVC的完整過程,需要的朋友可以參考下2014-11-11thinkphp3.2中Lite文件替換框架入口文件或應(yīng)用入口文件的方法
這篇文章主要介紹了thinkphp3.2中Lite文件替換框架入口文件或應(yīng)用入口文件的方法,涉及ThinkPHP相關(guān)配置技巧,需要的朋友可以參考下2015-05-05