php如何删除一个非空目录

如果一个目录结构下的文件夹是非空的时候,像是这种目录结构怎么样删除aaa呢

rmdir(); 查手册是尝试删除 dirname 所指定的目录。该目录必须是空的,而且要有相应的权限。

如果是这种目录结构怎么样删除aaa呢

$dir = 'aaa';
//循环加上递归
function deldir($dir){
    
    
    // 判断给定文件名是否是一个目录
    if(is_dir($dir)){
    
    
        //获取目录数组,如果用fopen 然后在fread什么的麻烦
        $files =scandir($dir);
        //获取到单个的文件 但是这里的话路径不一定是正确的
        foreach ($files as $file){
    
    
            //把. 和.. 去掉
            if($file == '.' || $file == '..'){
    
    
                continue;
            }else{
    
    
            	//此时就得获取到正确的路径下的文件或者目录
                $path = $dir.'/'.$file;
                //此时判断一下文件的类型是文件还是目录,是文件直接干掉
                if(is_dir($path)){
    
    
                    //如果是目录的话,直接递归
                    deldir($path);
                }else{
    
    
                    //如果是文件的话直接删除
                    unlink($path);
                }
            }
        }
        //如果都清除干净了,直接删除空目录
        rmdir($dir);
    }
}
deldir($dir);

然后这个aaa的目录就没得了,删除成功
然后这个aaa的目录就没得了

猜你喜欢

转载自blog.csdn.net/weixin_44088587/article/details/111309262