我正在尝试包含一个文件,并在文件不存在/无法打开时捕获它。我原本认为一个简单的try / catch语句会起作用,但PHP似乎完全忽略它,并且输出错误。
有什么想法吗?我知道在stackoverflow上还有其他类似的问题,我已经看过了,但是它们似乎没有一个正确的,有效的答案。
答案 0 :(得分:28)
您可以检查包含的返回值,看它是否失败:
if((@include $filename) === false)
{
// handle error
}
您会注意到我包含了错误抑制操作符(@
)以隐藏显示的标准错误消息。
答案 1 :(得分:4)
由于include()
在失败时返回false
,只需检查它是否返回true然后执行die()
之类的操作或显示错误。
if (!include('page.php'))
die('Error.');