我从其他网站调用我的php函数,该网站在后台删除我服务器上的文件夹。
这是我用来删除文件夹的功能。
public static function remove($dir)
{
if (is_dir($dir)) {
$diropen = opendir($dir);
while($d = readdir($diropen)) {
if ($d!= '.' && $d != '..') {
self::remove($dir . "/$d");
}
}
@rmdir($dir);
} elseif (is_file($dir)) {
@unlink($dir);
}
}
如果我在文件夹中有三个文件,那么它只删除两个文件,无法删除最后一个文件或在最后一个文件上取消链接失败。
如果我有两个文件,那么它只删除一个文件。
我已使用is_writable
检查了可写权限,但对于所有文件都是如此。
请有人帮帮我。或者如何在后台调用此函数来调试此行为。
答案 0 :(得分:0)
我的目录在其他一些功能中打开了,所以我closedir
我的文件夹然后上面的功能正常工作。
答案 1 :(得分:0)
BooleanProperty
使用closedir,你会没事的。