PHP如何刪除一個路徑下的所有資料夾和檔案?

2020-07-16 10:05:51
PHP如何刪除一個路徑下的所有資料夾和檔案?下面本篇文章給大家介紹一下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);

推薦學習:PHP視訊教學

以上就是PHP如何刪除一個路徑下的所有資料夾和檔案?的詳細內容,更多請關注TW511.COM其它相關文章!