• 技术文章 >后端开发 >php教程

    php如何删除当前目录及其目录下的所有文件?(代码)

    不言不言2019-02-27 09:37:07转载840
    本篇文章给大家带来的内容是关于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中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:php
    上一篇:如何使用yii2的缓存依赖特性(代码示例) 下一篇:php二维数组排序保持键名不变的方法介绍(代码示例)
    PHP编程就业班

    相关文章推荐

    • 如何从PHP中的字符串中删除换行符?(代码示例)• PHP如何序列化数据?• 2022年PHP面试题大汇总(收藏)• PHP如何安装BCMath扩展?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网