如何在php中刪除非空目錄

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何在php中刪除非空目錄,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)達(dá)州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

php刪除非空目錄的方法:首先自定義一個(gè)delDir函數(shù);然后遍歷目錄,讀出目錄中的文件或文件夾;接著將目錄下的文件與當(dāng)前目錄相連;最后遞歸調(diào)用刪除子目錄,并使用“rmdir”函數(shù)刪除空目錄即可。

php rmdir使用遞歸函數(shù)刪除非空目錄

我們大家都知道,php rmdir()函數(shù)用于刪除空目錄,但如果要?jiǎng)h除非空目錄,我們必須將非空目錄中的文件或子目錄刪除,本文章向大家介紹php如何使用遞歸函數(shù)刪除非空目錄,需要的朋友可以參考一下。

首先向大家介紹一下rmdir()函數(shù)。

php rmdir()函數(shù)

rmdir — 刪除空目錄

語(yǔ)法:

bool rmdir ( string $dirname [, resource $context ] )

嘗試刪除 dirname 所指定的目錄。 該目錄必須是空的,而且要有相應(yīng)的權(quán)限。 失敗時(shí)會(huì)產(chǎn)生一個(gè)E_WARNING級(jí)別的錯(cuò)誤。

參數(shù):

dirname:目錄的路徑。

context:在 PHP 5.0.0 中增加了對(duì)上下文(Context)的支持。

php rmdir()刪除非空目錄

上面已經(jīng)說(shuō)過(guò),rmdir()函數(shù)只能刪除空目錄,如果是非空目錄就需要先進(jìn)入到目錄中,使用unlink()函數(shù)將目錄中的每個(gè)文件都刪除掉,再回來(lái)將這個(gè)空目錄刪除。如果目錄中還存在子目錄,而且目錄也非空,就需要使用遞歸的方法。自定義遞歸函數(shù)刪除目錄的源代碼如下:

<?php
/* by http://www.manongjc.com/article/27.html*/
function delDir($directory){//自定義函數(shù)遞歸的函數(shù)整個(gè)目錄
    if(file_exists($directory)){//判斷目錄是否存在,如果不存在rmdir()函數(shù)會(huì)出錯(cuò)
        if($dir_handle=@opendir($directory)){//打開目錄返回目錄資源,并判斷是否成功
            while($filename=readdir($dir_handle)){//遍歷目錄,讀出目錄中的文件或文件夾
                if($filename!='.' && $filename!='..'){//一定要排除兩個(gè)特殊的目錄
                    $subFile=$directory."/".$filename;//將目錄下的文件與當(dāng)前目錄相連
                    if(is_dir($subFile)){//如果是目錄條件則成了
                        delDir($subFile);//遞歸調(diào)用自己刪除子目錄
                    }
                    if(is_file($subFile)){//如果是文件條件則成立
                        unlink($subFile);//直接刪除這個(gè)文件
                    }
                }
            }
            closedir($dir_handle);//關(guān)閉目錄資源
            rmdir($directory);//刪除空目錄
        }
    }
}
 
delDir("mydir");//調(diào)用delDir函數(shù)
 
?>

處理遞歸刪除非空目錄外,我們也可以使用操作系統(tǒng)命令“rm -rf”刪除非空的目錄,但也要從安全和跨平臺(tái)方面考慮盡量不要去使用。

上述就是小編為大家分享的如何在php中刪除非空目錄了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章題目:如何在php中刪除非空目錄
分享鏈接:http://muchs.cn/article40/gphiho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、、網(wǎng)站排名、自適應(yīng)網(wǎng)站建站公司、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)