首頁 >後端開發 >PHP問題 >php怎麼遞迴刪除目錄

php怎麼遞迴刪除目錄

王林
王林原創
2020-11-05 11:35:082478瀏覽

php遞歸刪除目錄的方法:首先利用opendir函數開啟目錄句柄;然後從目錄句柄中讀取條目,並利用readdir函數返回目錄中下一個檔案的檔案名稱;最後依序刪除目錄,並關閉目錄句柄即可。

php怎麼遞迴刪除目錄

相關函數:

opendir() 函數開啟一個目錄句柄,若成功,則函數傳回一個目錄流,否則傳回false以及一個error。

(相關學習影片推薦:java影片教學

closedir() 函數關閉目錄句柄。

readdir() 函數傳回目錄中下一個檔案的檔案名稱。

程式碼範例:

<?php

    //递归删除目录
    $path = "D:/a";
    //调用递归函数
    $res = diGUiRmDir($path);
    //输出结果
    var_dump($res);

    function diGUiRmDir($path){

        //打开目录句柄
        $handle = opendir($path);

        //readdir() 从目录句柄中读取条目
        //返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回
        while(false !== $filename = readdir($handle)){
            if ($filename ==&#39;.&#39; || $filename ==&#39;..&#39;) {  //跳过 . ..文件夹
                continue;
            }

            //判断是否为目录
            if (is_dir($path.&#39;/&#39;.$filename)) {
                $current_func = __FUNCTION__;
                //是目录,递归删除
                $current_func = ($path.&#39;/&#39;.$filename);
            }else{
                //是文件,删除
                unlink($path.&#39;/&#39;.$filename); //unlink() 删除文件 返回bool
            }
        }
        //目录删除完毕
        closedir($handle); //关闭目录句柄
        return rmdir($path); // 删除目录返回结果
    }

相關推薦:php訓練

以上是php怎麼遞迴刪除目錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn