如何在尝试打开无效/无法访问的URI时停止fopen触发警告

Reg*_*erd 5 php

我正在使用fopen生成价格Feed.

if (($handle = fopen("http://feedurl", "r")) !== FALSE) {

}
Run Code Online (Sandbox Code Playgroud)

如果Feed失败,有没有办法停止此警告:

警告:fopen()[function.fopen]:php_network_getaddresses:getaddrinfo failed:名称或服务在...中未知

Mar*_*iot 14

您可以使用@来禁止警告:

if(($handle = @fopen("http://feedurl", "r")) !== FALSE){

}
Run Code Online (Sandbox Code Playgroud)

这在这里是合适的,因为您正在适当地处理错误条件.请注意,@一般来说,自由使用标志来抑制错误和警告是不明智的.

根据手册输入fopen:

如果打开失败,则会生成级别E_WARNING的错误.您可以使用@来禁止此警告.