本文實例分析了thinkphp文件處理類Dir.class.php的用法。分享給大家供大家參考。具體分析如下:
在我的WBlog中,有個清除緩存工能,所謂清除緩存就是刪除程序運行時生成的緩存文件,這些文件全部都存在項目的Runtime文件夾裡面,當時在做這個清除緩存的程序時使用項目函數庫自定義的一個函數來刪除緩存文件,只能整個地刪除Runtime,太粗糙了,我覺得有必要作一下細分刪除,其實thinkphp擴展類庫有個不錯的文件處理類Dir.class.php,Dir.class.php類,不是每個thinkphp版本都有,如果你所下載的版本沒有,可以從其它版本去找,現在來說一下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:// 數據目錄
$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:// 後台數據目錄
$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)){//靜態調用Dir.class.php的isEmpty()
Dir::del($path);
$this->success();
}else{
$this->error('已清空!');
}
}
說明:
import("@.ORG.Dir") --加載Dir.class.php類(我放在後台項目裡)
Dir::isEmpty($path)--靜態調用Dir.class.php的isEmpty()
Dir::del($path);--靜態調用Dir.class.php的del()方法.
上面在使用類時,我使用了靜態調用方法,這省去了實例化的麻煩.
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。