在我的WBlog中,有個(gè)清除緩存工能,所謂清除緩存就是刪除程序運(yùn)行時(shí)生成的緩存文件,這些文件全部都存在項(xiàng)目的Runtime文件夾里面,當(dāng)時(shí)在做這個(gè)清除緩存的程序時(shí)使用項(xiàng)目函數(shù)庫(kù)自定義的一個(gè)函數(shù)來(lái)刪除緩存文件,只能整個(gè)地刪除Runtime,太粗糙了,我覺(jué)得有必要作一下細(xì)分刪除,其實(shí)thinkphp擴(kuò)展類庫(kù)有個(gè)不錯(cuò)的文件處理類Dir.class.php,Dir.class.php類不是每個(gè)thinkphp版本都有,如果你所下載的版本沒(méi)有,可以從其它版本去找,現(xiàn)在來(lái)說(shuō)一下Dir.class.php的應(yīng)用.
Dir.class.php是一個(gè)文件處理類,用它可以:
1、取得目錄下面的文件信息
2、刪除目錄或文件
由于我要完善WBlog緩存清除功能,這里我只寫了上面的第2個(gè)功能,至于第1個(gè)功能我將做模板文個(gè)修改功能時(shí)再寫,下面是我在清除緩存的控制器定義的一個(gè)del()方法:
- public function del(){
- $type=trim($_GET['type']);
- if(emptyempty($type)) $this->error('請(qǐng)選擇緩存類型!');
- switch($type) {
- case 1:// 全部清空
- $path = WEB_PATH.'Runtime';
- break;
- case 2:// 文件緩存目錄
- $path = WEB_PATH.'Runtime/Temp';
- break;
- case 3:// 數(shù)據(jù)目錄
- $path = WEB_PATH.'Runtime/Data/_fields';
- break;
- case 4:// 模板文件緩存
- $path = WEB_PATH.'Runtime/Cache';
- break;
- case 5:// 清空全部后臺(tái)緩存
- $path = APP_PATH.'Runtime';
- break;
- case 6:// 后臺(tái)文件緩存目錄
- $path = APP_PATH.'Runtime/Temp';
- break;
- case 7:// 后臺(tái)數(shù)據(jù)目錄
- $path = APP_PATH.'Runtime/Data/_fields';
- break;
- case 8:// 模板文件緩存
- $path = APP_PATH.'Runtime/Cache';
- break;
- }
- import("@.ORG.Dir");//加載Dir.class.php類(我放在后臺(tái)項(xiàng)目里)
- if(!Dir::isEmpty($path)){//靜態(tài)調(diào)用Dir.class.php的isEmpty()
- Dir::del($path);
- $this->success();
- }else{
- $this->error('已清空!');
- }
- }
說(shuō)明:
import("@.ORG.Dir") --加載Dir.class.php類(我放在后臺(tái)項(xiàng)目里)
Dir::isEmpty($path)--靜態(tài)調(diào)用Dir.class.php的isEmpty()
Dir::del($path);--靜態(tài)調(diào)用Dir.class.php的del()方法.
上面在使用類時(shí),我使用了靜態(tài)調(diào)用方法,這省去了實(shí)例化的麻煩.
新聞熱點(diǎn)
疑難解答
圖片精選