一、刪除空資料夾
要刪除空的資料夾,我們可以使用PHP內建的rmdir()
函數,它可以直接刪除一個空資料夾。在ThinkPHP中,我們只需要使用rmdir()
函數的路徑參數,我們可以刪除指定的資料夾。例如:
$path = './test'; //要删除的文件夹路径 if(is_dir($path)){ rmdir($path); }
上面的範例中,首先我們定義了要刪除的資料夾路徑,然後使用is_dir()
函數判斷此路徑是否為目錄,如果是目錄就執行rmdir()
函數來刪除它。需要注意的是,這種方法只能刪除空資料夾,如果資料夾中還存在檔案或子資料夾,則無法刪除。
二、刪除非空白資料夾
如果要刪除非空資料夾,我們可以使用delDir()
函數來實現,下面是一個簡單的實作:
function delDir($path){ if(is_dir($path)){ if ($dh = opendir($path)){ while (($file = readdir($dh)) !== false){ if ($file != '.' && $file != '..'){ $fullpath = $path.'/'.$file; if(!is_dir($fullpath)){ unlink($fullpath); }else{ delDir($fullpath); } } } closedir($dh); rmdir($path); } } }
delDir()
函數的作用是刪除目錄,它透過遞歸呼叫自身,先刪除目錄中的所有文件,然後再刪除這個目錄。具體實作方法是先使用opendir()
函數開啟指定目錄,然後使用readdir()
函數讀取目錄中所有檔案和資料夾,判斷它們是否為.和..
,如果不是則以同樣的方式進行處理。
如果是文件,直接使用unlink()
函數刪除;如果是資料夾,則遞歸呼叫delDir()
函數刪除這個資料夾及其內容。最後再使用rmdir()
函數刪除這個空目錄。
以上是thinkphp如何刪除資料夾的詳細內容。更多資訊請關注PHP中文網其他相關文章!