rmdir()显示一些警告,如目录不存在或权限不允许。我如何捕获失败的原因并对其做出反应?
发布于 2012-02-25 06:30:44
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
}
}发布于 2012-02-25 06:22:04
您可以预先检查是否允许执行某种操作,如file_exists()和is_ dir()以检查目录是否存在,使用fileperms()或仅使用is_ writable()来检查是否可以写入目录。
您还可以尝试像使用异常一样“捕获”错误。您可以指定一个自定义的错误处理程序,但这似乎有点过头了。
https://stackoverflow.com/questions/9438866
复制相似问题