PHP中unlink是删除文件的方法,无法直接删除文件夹,而rmdir是删除空文件夹的方法。

如果删除的当前文件夹里面有文件,使用rmdir则提示为权限不足无法删除。

那么删除非空文件夹的逻辑就是,先删除当前文件夹下的所有东西,当文件夹为空了,在删除文件夹。

//删除文件夹的方法
    public 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;
        }
    }

使用这个方法就可以删除非空文件夹啦。

最后修改:2017 年 07 月 27 日
如果觉得我的文章对你有用,请随意赞赏