如何在file_get_contents失败时跳过代码?

时间:2013-04-20 09:19:19

标签: php

当我使用如下所示的有效网址时,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 ?
}

但上面的代码没有帮助。你能告诉我怎样才能解决这个问题?

4 个答案:

答案 0 :(得分:4)

您可以通过添加@

来隐藏错误
$html = @file_get_contents("http://www.google.com/");
if ($html === FALSE){
  // Error
}
else {
  // No errors
}

来源:https://stackoverflow.com/a/272377/1907875

答案 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