首页 > 后端开发 > php教程 > 如何在 PHP 中递归删除目录及其内容?

如何在 PHP 中递归删除目录及其内容?

Linda Hamilton
发布: 2024-12-07 00:01:10
原创
865 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板