当我使用如下所示的有效网址时,file_get_contents
将返回html代码
$html = file_get_contents("http://www.google.com/");
但如果网址无效:
$html = file_get_contents("http://www.go1235ogle.com/"); //Invalid URL. This line give Error Message
我的代码会输出错误消息Notice: Trying to get property of non-object
如果file_get_contents
无法打开给定的网址,我想隐藏它输出的错误消息,并使用if else
语句跳过下面的代码。
if (FALSE === $html)
{
//skip the code in here ?
}
但上面的代码没有帮助。你能告诉我怎样才能解决这个问题?
答案 0 :(得分:4)
您可以通过添加@
来隐藏错误$html = @file_get_contents("http://www.google.com/");
if ($html === FALSE){
// Error
}
else {
// No errors
}
答案 1 :(得分:1)
if (FALSE === $html)
{
// TODO: handle the case when file_get_contents fails
} else {
// TODO: handle the case when file_get_contents succeeds
}
要摆脱Notice: Trying to get property of non-object
,请关闭display_errors
(在生产环境中推荐),或将error_reporting
设置为较低级别,以完全关闭输出错误消息。< / p>
但是,您发布的代码不应生成Notice: Trying to get property of non-object
。
答案 2 :(得分:0)
您希望执行代码,除非值为false,因此请将代码放在if (false !== $html)
块中
答案 3 :(得分:0)
该行不会产生错误,您需要检查其余代码,因为您之后可能已使用$html
。