【发布时间】:2013-02-25 10:16:21
【问题描述】:
好吧,我一直想知道我是否可以正确处理unlink() 函数。我不希望unlink() 函数在无法取消链接文件的情况下抛出一些讨厌的错误(可能是由于找不到文件)。
我尝试了类似的东西
try {
unlink("secret/secret.txt");
} catch(Exception $e) {
print "whoops!";
//or even leaving it empty so nothing is displayed
}
但它不起作用。我不是 PHP 专家。我在网络的某个地方搜索并找到了这个异常处理代码。但我记得我的学生时代,Java 也是如此。所以它应该工作。我不知道代码有什么问题。
或者我可以简单地使用 if..else 语句,例如
if(unlink($file)){
//leaving here empty must ensure that nothing is displayed
}else{
//leaving here empty must ensure that nothing is displayed
}
但是这段代码也不起作用。我在哪里做错了?还有什么其他的方法可以正确处理?
可以通过错误报告(PHP)(生产和开发环境)操作来隐藏错误吗??
【问题讨论】:
-
异常在 PHP 中并不通用。只有一些 API 实现了它们,
unlink()如果无法删除文件,将返回 FALSE。if/else是正确的方法。 -
也许先测试
file_exists,然后再喂给unlink -
测试文件是否存在,它实际上是一个文件,并且您有权删除它。我不喜欢使用 @ 来抑制错误,但我更不喜欢错误。
if ( is_file( $uri ) && is_writable( $uri ) ) { @unlink( $uri ); }
标签: php exception-handling unlink