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;
}
}
使用这个方法就可以删除非空文件夹啦。