PHP刪除一個路徑下的所有文件夾和文件的方法

用到的函數:

  • scandir($path) 遍歷一個文件夾所有文件並返回數組。
  • unlink($filename) 刪除文件。
  • rmdir($path) 只刪除空文件夾

代碼:
刪除單個文件

$file = "./aa/aas.txt";
if (!unlink($file))
{
	echo ("Error deleting $file");
}
else
{
	echo ("Deleted $file");
}

刪除一個路徑下的所有文件夾和文件的方法1

$path = "./aa";
function deleteDir($dir)
{
    if (!$handle = @opendir($dir)) {
        return false;
    }
    while (false !== ($file = readdir($handle))) {
        if ($file !== "." && $file !== "..") {       //排除當前目錄與父級目錄
            $file = $dir . '/' . $file;
            if (is_dir($file)) {
                deleteDir($file);
            } else {
                @unlink($file);
            }
        }

    }
    @rmdir($dir);
}
deleteDir($path);

刪除一個路徑下的所有文件夾和文件的方法2

//設置需要刪除的文件夾
$path = "./aa";
//清空文件夾函數和清空文件夾後刪除空文件夾函數的處理
function deldir($path){
   //如果是目錄則繼續
   if(is_dir($path)){
    //掃描一個文件夾內的所有文件夾和文件並返回數組
	   $p = scandir($path);
	   foreach($p as $val){
	    //排除目錄中的.和..
	    if($val !="." && $val !=".."){
	     //如果是目錄則遞歸子目錄,繼續操作
		    if(is_dir($path.'/'.$val)){
		      //子目錄中操作刪除文件夾和文件
		      deldir($path.'/'.$val);
		      //目錄清空後刪除空文件夾
		      @rmdir($path.'/'.$val);
		    }else{
		      //如果是文件直接刪除
		      unlink($path.'/'.$val);
		    }
		}
	   }
	}
  }
 //調用函數,傳入路徑
 deldir($path);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章