首页 >后端开发 >PHP问题 >php怎么删除非空文件夹

php怎么删除非空文件夹

藏色散人
藏色散人原创
2021-03-03 09:15:222704浏览

php删除非空文件夹的方法:首先创建一个PHP示例文件;然后检查目录下有没有文件或文件夹;最后用递归删除目录下的所有文件和文件夹即可。

php怎么删除非空文件夹

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑。

PHP删除非空目录/文件夹

用 PHP 自带的文件系统函数 rmdir() 删除目录时往往会遇到一个问题,那就是要删除的这个目录必须为空,否则会报错。

删除非空目录,先检查目录下有没有文件或文件夹,如果有,就用递归删除目录下的所有文件和文件夹,然后删除此目录。

具体操作如下:

1、函数定义

function deldir($dir) {
    $dh=opendir($dir);
    while ($file=readdir($dh)) {
        if($file!="." && $file!="..") {
            $fullpath=$dir."/".$file;
            if(!is_dir($fullpath)) {
                unlink($fullpath);
            } else {
                deldir($fullpath);
            }
        }
    }
    closedir($dh);
    if(rmdir($dir)) {
        return true;
    } else {
        return false;
    }
}

2、删除目录

function doDel(){
    $dir="./src/folder";
    if(deldir($dir)){
        echo("删除成功");
    }else{
        echo("删除失败");
    }
}

原理说明:

先检查此目录下是否有文件,如果有,是文件夹的话就再调用此函数删除,如果是文件就直接调用 unlink 删除,最后删除此目录。

注意事项:

确保有对文件夹的操作权限

【推荐:PHP视频教程

以上是php怎么删除非空文件夹的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn