1

当我使用如下的有效 URL 时,file_get_contents将返回 html 代码

$html = file_get_contents("http://www.google.com/");

但如果 URL 无效:

$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无法打开给定的 URL,我想隐藏它输出的错误消息并用if else语句跳过下面的代码。

if (FALSE === $html) 
{
  //skip the code in here ?
}

但上面的代码没有帮助。你能告诉我如何纠正这个问题吗?

4

4 回答 4

6

您可以通过添加 @ 来隐藏错误

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

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

于 2013-04-20T09:25:56.847 回答
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_errorserror_reporting

但是,您发布的代码不应生成Notice: Trying to get property of non-object.

于 2013-04-20T09:25:44.017 回答
0

你要执行代码,除非值为false,所以把代码放在一个if (false !== $html)块中

于 2013-04-20T09:24:49.780 回答
0

该行不会产生错误,您需要检查其余代码,因为您可能$html稍后会使用。

于 2013-04-20T09:35:43.400 回答