删除目录及目录下的所有文件 用glob方法

来源:互联网 发布:网络信息安全系统 编辑:程序博客网 时间:2024/06/05 11:00

其实原理都是一样的,用rmdir删除空目录,unlink删除文件 glob这个函数推荐下,非常好用。

function delDirFile($dir){

foreach (glob($dir.'*') as $k=>$filename) {
if(is_dir($filename)){
$newdir = glob($filename.'/*'); //如果这个目录为空则删除
if(empty($newdir)){
rmdir($filename);
}else{
delDirFile($filename.'/');
}
}else{
unlink($filename);
}
if(is_dir($filename)){rmdir($filename);}
}

}

//-------------展开分析

foreach (glob($dir . '*') as $k => $filename) {
    if (is_dir($filename)) {
        $newdir = glob($filename . '/*'); //如果这个目录为空则删除
        if (empty($newdir)) {
            rmdir($filename);
        } else {
            foreach (glob($dir . '*') as $k => $filename) {
                if (is_dir($filename)) {
                    $newdir = glob($filename . '/*'); //如果这个目录为空则删除
                    if (empty($newdir)) {
                        rmdir($filename);
                    } else {
                        foreach (glob($dir . '*') as $k => $filename) {
                            if (is_dir($filename)) {
                                $newdir = glob($filename . '/*'); //如果这个目录为空则删除
                                if (empty($newdir)) {
                                    rmdir($filename);
                                } else {
                                    delDirFile($filename . '/');
                                }
                            } else {
                                unlink($filename);
                            }
                            if (is_dir($filename)) {
                                rmdir($filename);
                            }
                        }
                    }
                } else {
                    unlink($filename);
                }
                if (is_dir($filename)) {
                    rmdir($filename);
                }
            }
        }
    } else {
        unlink($filename);
    }
    if (is_dir($filename)) {
        rmdir($filename);
    }
}