這篇文章主要介紹了thinkphp文件處理類Dir.class.php的用法,以實(shí)例形式分析了基于文件處理類Dir.class.php的自定義函數(shù)del的使用,是非常實(shí)用的技巧,需要的朋友可以參考下
本文實(shí)例分析了thinkphp文件處理類Dir.class.php的用法。分享給大家供大家參考。具體分析如下:
在我的WBlog中,有個(gè)清除緩存工能,所謂清除緩存就是刪除程序運(yùn)行時(shí)生成的緩存文件,這些文件全部都存在項(xiàng)目的Runtime文件夾里面,當(dāng)時(shí)在做這個(gè)清除緩存的程序時(shí)使用項(xiàng)目函數(shù)庫自定義的一個(gè)函數(shù)來刪除緩存文件,只能整個(gè)地刪除Runtime,太粗糙了,我覺得有必要作一下細(xì)分刪除,其實(shí)thinkphp擴(kuò)展類庫有個(gè)不錯(cuò)的文件處理類Dir.class.php,Dir.class.php類,不是每個(gè)thinkphp版本都有,如果你所下載的版本沒有,可以從其它版本去找,現(xiàn)在來說一下Dir.class.php的應(yīng)用.
Dir.class.php是一個(gè)文件處理類,用它可以:
1、取得目錄下面的文件信息
2、刪除目錄或文件
由于我要完善WBlog緩存清除功能,這里我只寫了上面的第2個(gè)功能,至于第1個(gè)功能我將做模板文個(gè)修改功能時(shí)再寫,下面是我在清除緩存的控制器定義的一個(gè)del()方法:
復(fù)制代碼代碼如下:
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('已清空!');
}
}
說明:
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í)例化的麻煩.
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。