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