首页 > 后端开发 > PHP问题 > php怎么删除目录下所有文件?

php怎么删除目录下所有文件?

青灯夜游
发布: 2023-03-07 11:16:02
原创
2999 人浏览过

php删除目录下所有文件的方法:首先使用scandir()函数遍历一个目录下所有文件并返回数组;然后使用foreach遍历数组,在foreach中使用unlink()和rmdir()函数删除该目录下的所有子目录和文件即可。

php怎么删除目录下所有文件?

更多编程相关知识,请访问:编程入门!!

php删除目录下所有文件

使用PHP遍历一个目录下的所有目录及文件,并删除该目录及其目录下的所有子目录和文件,本次代码通过递归的方式来实现。

主要用到的函数:

  • scandir($path) 遍历一个目录下所有文件并返回数组。

  • unlink($filename) 删除文件。

  • rmdir($path) 只删除空文件夹。

PHP代码:

/**
 * 删除当前目录及其目录下的所有目录和文件
 * @param string $path 待删除的目录
 * @note  $path路径结尾不要有斜杠/(例如:正确[$path='./static/image'],错误[$path='./static/image/'])
 */
function deleteDir($path) {

    if (is_dir($path)) {
        //扫描一个目录内的所有目录和文件并返回数组
        $dirs = scandir($path);

        foreach ($dirs as $dir) {
            //排除目录中的当前目录(.)和上一级目录(..)
            if ($dir != '.' && $dir != '..') {
                //如果是目录则递归子目录,继续操作
                $sonDir = $path.'/'.$dir;
                if (is_dir($sonDir)) {
                    //递归删除
                    deleteDir($sonDir);

                    //目录内的子目录和文件删除后删除空目录
                    @rmdir($sonDir);
                } else {

                    //如果是文件直接删除
                    @unlink($sonDir);
                }
            }
        }
        @rmdir($path);
    }
}
登录后复制

更多编程相关知识,请访问:编程入门!!

以上是php怎么删除目录下所有文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

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