用php检测rmdir错误

时间:2012-02-24 22:17:05

标签: php rmdir

rmdir()显示一些警告,例如dir不存在或权限不允许。我怎样才能找出失败的原因并做出反应?

2 个答案:

答案 0 :(得分:5)

rmdir不会抛出异常,因此您无法使用try / catch捕获它们。你可以做的是使用error_get_last功能来做你需要的。

尝试这样的事情:

if (!@rmdir('/root')) {
    $error = error_get_last();

    if (preg_match('/something/', $error['message'])) {
        // do something
    } elseif (preg_match('/somethingelse/', $error['message'])) {
        // do something
    }
}

答案 1 :(得分:0)

您可以事先检查是否允许您执行某种操作,例如file_exists()is_ dir(),以检查目录是否存在以及fileperms()或仅is_ writable()来检查如果你可以写一个目录。

您也可以像异常一样尝试“捕获”错误。你可以指定一个自定义错误处理程序,但这似乎有点矫枉过正。