php 刪除指定文件夾
阿新 • • 發佈:2017-07-25
logs 循環 方法 技術分享 操作 || 資源 函數 asp
php 刪除指定文件夾
1、前言目標:php刪除一個指定目錄
所使用的的php函數:is_dir,opendir,readdir,scandir,rmdir,closedir,等等(註:其他文件操作函數也可以完成,這裏只列舉了本次使用的函數)
2、相關函數介紹
php文件操作的方法大致相同,已經在上一篇介紹過了,這裏就不在重復介紹,這裏就介紹一個新函數
rmdir
詳情參考:http://www.w3school.com.cn/php/func_filesystem_rmdir.asp
其他函數請參考上一篇: http://www.cnblogs.com/ImCehnyx/p/7214598.html
3、代碼構成
**
* [delAllFile description] 刪除指定目錄
* @param [type] $dirName [description] 目錄
* @param [type] $file [description] 記錄的過程文件
* @param integer $type [description] 第一次默認打開新文件,第二次調用不打開
* @return [type] [description]
*/
public function delAllFile($dirName, $file, $type = 1) {
$re = $this->checkDir($dirName);
//默認第一次打開文件
if($type){
$file = fopen($file, ‘w‘);//打開日誌文件
}
if($re){
$this->delFile($dirName, $file);
}else{
fwrite($file,"{$dirName}清理完成\r\n");
}
}
/**
* [checkDir description] 檢測文件夾是否為空,為空直接刪除
* @param [type] $dirName [description] 文件夾名
* @return [type] [description]
*/
private function checkDir($dirName) {
$a = scandir($dirName);//列出 images 目錄中的文件和目錄:
//只包含.和..目錄的文件夾為空文件夾
if(sizeof($a) == 2){
rmdir($dirName);
return false;
}
return true;
}
/**
* [delFile description] 上傳文件的方法
* @param [type] $dirName [description] 目錄
* @param [type] $file [description] 記錄的文件
* @return [type] [description]
*/
private function delFile($dirName, $file) {
$dh = openDir($dirName);
while($handle = readdir($dh)){
if($handle == ‘.‘ || $handle == ‘..‘) {
continue;
}
$resource = $dirName.‘/‘.$handle;
//判斷是否是文件夾
if(is_dir($resource)) {
//判斷文件夾是否為空
$re = $this->checkDir($dirName);
if($re){
$this->delAllFile(