刪除方法:1、利用scandir()函數和foreach語句遍歷指定目錄下的所有檔案和資料夾;2、用遞歸的方式來逐一刪除指定目錄下的所有檔案和資料夾,將該目錄變成空目錄;3、使用「rmdir(目錄路徑)」語句刪除該指定目錄。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
在PHP 中可以使用rmdir() 函數來刪除指定的目錄,函數的語法格式如下所示:
rmdir(string $dirname[, resource $context])
其中,參數$dirname 為要刪除的目錄路徑;$context 為可選參數,用來規定檔案句柄的環境。
注意:使用 rmdir() 函數刪除指定目錄時,這個目錄必須是空的,而且要有對應的權限。函數執行成功時傳回 TRUE,執行失敗則傳回 FALSE,如果刪除不為空的目錄也會產生一個 E_WERNING 等級的錯誤。
那麼如果需要使用rmdir()刪除一個非空目錄,這要怎麼做?
我們可以遍歷這個目錄下的所有檔案和資料夾,並用遞歸的方式來逐一刪除這個目錄下的所有檔案和資料夾,下面就透過範例程式碼來示範以下:
<?php function deldir($path){ //如果是目录则继续 if(is_dir($path)){ //扫描一个文件夹内的所有文件夹和文件并返回数组 $p = scandir($path); //如果 $p 中有两个以上的元素则说明当前 $path 不为空 if(count($p)>2){ foreach($p as $val){ //排除目录中的.和.. if($val !="." && $val !=".."){ //如果是目录则递归子目录,继续操作 if(is_dir($path.$val)){ //子目录中操作删除文件夹和文件 deldir($path.$val.'/'); }else{ //如果是文件直接删除 unlink($path.$val); } } } } } //删除目录 return rmdir($path); } //设置需要删除的文件夹 $path = "./test/"; //调用函数,传入路径 deldir($path); ?>
說明:
scandir() 函數傳回包含指定目錄中所有檔案和目錄的數組,
推薦學習:《PHP影片教學》
以上是php rmdir()怎麼刪除非空白目錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!