当前位置:Gxlcms > PHP教程 > php怎么删除非空文件夹

php怎么删除非空文件夹

时间:2021-07-01 10:21:17 帮助过:21人阅读

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怎么删除非空文件夹的详细内容,更多请关注gxlcms其它相关文章!

人气教程排行