如何获取取消链接的错误结果
2022-08-30 23:18:30
如果对 unlink() 的调用对指定路径返回 false,您如何找出失败的原因(即 EISDIR、ENOENT、ELOOP 等)?PHP 5.x 在 redhat linux 上运行。
如果对 unlink() 的调用对指定路径返回 false,您如何找出失败的原因(即 EISDIR、ENOENT、ELOOP 等)?PHP 5.x 在 redhat linux 上运行。
我认为不可能取回系统发出的任何错误代码。这也许可以归结为PHP应该是可移植的,不同的操作系统有不同的错误报告方法。
你当然可以做一个并恢复错误级别,但这并不是很便携,并且使你的应用程序依赖于权限。exec('rm ....')
exec()
否则,如果你真的,真的需要这个,只有一个非常棘手的解决方法浮现在脑海中:创建一个自定义错误处理程序函数,试图从警告抛出中获取失败的原因 - 例如,检查“权限被拒绝”,或者只是获取整个错误消息。unlink
围绕该函数创建一个包装函数,用于设置和重新设置错误处理程序。像这样:unlink
function my_unlink($file)
{
set_error_handler("my_error_handler");
unlink($file);
restore_error_handler();
}
你得到我的漂移。
如果有人知道更好的解决方案- 我也有兴趣听听它。