您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關php中rmdir強制刪除的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
php rmdir強制刪除的方法:首先判斷目錄是否存在;然后打開目錄返回目錄資源,并判斷是否成功;接著遍歷目錄,讀出目錄中的文件或文件夾;最后使用“rmdir($directory);”方法刪除空目錄即可。
php rmdir使用遞歸函數刪除非空目錄
我們大家都知道,php rmdir()函數用于刪除空目錄,但如果要刪除非空目錄,我們必須將非空目錄中的文件或子目錄刪除,本文章向大家介紹php如何使用遞歸函數刪除非空目錄,需要的朋友可以參考一下。
首先向大家介紹一下rmdir()函數。
php rmdir()函數
rmdir — 刪除空目錄
語法:
bool rmdir ( string $dirname [, resource $context ] )
嘗試刪除 dirname 所指定的目錄。 該目錄必須是空的,而且要有相應的權限。 失敗時會產生一個E_WARNING級別的錯誤。
參數:
dirname:目錄的路徑。
context:在 PHP 5.0.0 中增加了對上下文(Context)的支持。
php rmdir()刪除非空目錄
上面已經說過,rmdir()函數只能刪除空目錄,如果是非空目錄就需要先進入到目錄中,使用unlink()函數將目錄中的每個文件都刪除掉,再回來將這個空目錄刪除。如果目錄中還存在子目錄,而且目錄也非空,就需要使用遞歸的方法。自定義遞歸函數刪除目錄的源代碼如下:
<?php /* by http://www.manongjc.com/article/27.html*/ function delDir($directory){//自定義函數遞歸的函數整個目錄 if(file_exists($directory)){//判斷目錄是否存在,如果不存在rmdir()函數會出錯 if($dir_handle=@opendir($directory)){//打開目錄返回目錄資源,并判斷是否成功 while($filename=readdir($dir_handle)){//遍歷目錄,讀出目錄中的文件或文件夾 if($filename!='.' && $filename!='..'){//一定要排除兩個特殊的目錄 $subFile=$directory."/".$filename;//將目錄下的文件與當前目錄相連 if(is_dir($subFile)){//如果是目錄條件則成了 delDir($subFile);//遞歸調用自己刪除子目錄 } if(is_file($subFile)){//如果是文件條件則成立 unlink($subFile);//直接刪除這個文件 } } } closedir($dir_handle);//關閉目錄資源 rmdir($directory);//刪除空目錄 } } } delDir("mydir");//調用delDir函數 ?>
處理遞歸刪除非空目錄外,我們也可以使用操作系統命令“rm -rf”刪除非空的目錄,但也要從安全和跨平臺方面考慮盡量不要去使用。
關于php中rmdir強制刪除的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。