首頁 >後端開發 >php教程 >如何在 PHP 中遞歸刪除目錄及其內容?

如何在 PHP 中遞歸刪除目錄及其內容?

Linda Hamilton
Linda Hamilton原創
2024-12-07 00:01:10853瀏覽

How Can I Recursively Delete a Directory and Its Contents in PHP?

PHP 中遞歸遍歷的目錄刪除

問題:

如何有效刪除目錄及其全部內容,包括任何子目錄和關聯文件,使用PHP?

答案:

為了解決這個遞歸目錄刪除任務,我們使用 rmdir 手冊頁中使用者提供的方法:

function rrmdir($dir) {
    // Verify if the specified path is a valid directory
    if (is_dir($dir)) {
        // Retrieve a list of files and subdirectories within the directory
        $objects = scandir($dir);

        // Iterate through each item in the directory
        foreach ($objects as $object) {
            // Exclude hidden files and directories (dot files)
            if ($object !== "." && $object !== "..") {
                // If the item is a directory, recursively delete it
                if (is_dir($dir . DIRECTORY_SEPARATOR . $object) && !is_link($dir . "/" . $object)) {
                    rrmdir($dir . DIRECTORY_SEPARATOR . $object);
                } else {
                    // Delete the item if it's a file
                    unlink($dir . DIRECTORY_SEPARATOR . $object);
                }
            }
        }

        // Once all items within the directory have been removed, remove the directory itself
        rmdir($dir);
    }
}

以上是如何在 PHP 中遞歸刪除目錄及其內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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