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)無(wú)限分類(使用遞歸)
- ThinkPHP進(jìn)程計(jì)數(shù)類Process用法實(shí)例詳解
- thinkPHP簡(jiǎn)單調(diào)用函數(shù)與類庫(kù)的方法
相關(guān)文章
64位windows系統(tǒng)下安裝Memcache緩存
這篇文章主要介紹了64位windows系統(tǒng)下安裝Memcache緩存的相關(guān)資料,需要的朋友可以參考下2015-12-12
wordpress網(wǎng)站轉(zhuǎn)移到本地運(yùn)行測(cè)試的方法
這篇文章主要為大家詳細(xì)介紹了wordpress網(wǎng)站轉(zhuǎn)移到本地運(yùn)行測(cè)試的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡(jiǎn)單實(shí)現(xiàn)方法,結(jié)合簡(jiǎn)單示例形式分析了thinkPHP5框架驗(yàn)證碼相關(guān)配置、后臺(tái)驗(yàn)證、前臺(tái)刷新等操作技巧,需要的朋友可以參考下2018-09-09
ThinkPHP實(shí)現(xiàn)動(dòng)態(tài)包含文件的方法
這篇文章主要介紹了ThinkPHP實(shí)現(xiàn)動(dòng)態(tài)包含文件的方法,是進(jìn)行ThinkPHP項(xiàng)目開發(fā)中非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
yii實(shí)現(xiàn)使用CUploadedFile上傳文件的方法
這篇文章主要介紹了yii實(shí)現(xiàn)使用CUploadedFile上傳文件的方法,結(jié)合具體的前端與后端處理代碼實(shí)例分析了CUploadedFile類的使用方法,需要的朋友可以參考下2015-12-12
ThinkPHP采用GET方式獲取中文參數(shù)查詢無(wú)結(jié)果的解決方法
這篇文章主要介紹了ThinkPHP采用GET方式獲取中文參數(shù)查詢無(wú)結(jié)果的解決方法,需要的朋友可以參考下2014-06-06
PHPMailer發(fā)送HTML內(nèi)容、帶附件的郵件實(shí)例
這篇文章主要介紹了PHPMailer發(fā)送HTML內(nèi)容、帶附件的郵件實(shí)例,發(fā)送的內(nèi)容包含圖片和文字,附件則發(fā)送的一個(gè)EXCEL表,需要的朋友可以參考下2014-07-07

