php如何递归删除目录

发布时间:2020-11-06 10:26:59 作者:小新
来源:亿速云 阅读:146

这篇文章将为大家详细讲解有关php如何递归删除目录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

php递归删除目录的方法:首先利用opendir函数打开目录句柄;然后从目录句柄中读取条目,并利用readdir函数返回目录中下一个文件的文件名;最后依次删除目录,并关闭目录句柄即可。

相关函数:

opendir() 函数打开一个目录句柄,若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。

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 =='.' || $filename =='..') {  //跳过 . ..文件夹
                continue;
            }

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

关于php如何递归删除目录就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. AIX下find命令不递归删除目录
  2. PHP如何循环删除目录

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:php关闭notice级别错误提示的案例

下一篇:php 下载找不到文件的解决方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》