我想通过fopen()
函数打开远程文件时获取HTTP错误代码。
我有以下代码:
$remote = fopen ($url, "rb");
如果网址正常,则会打开该文件。否则,fopen
会触发类似于Warning: fopen(url): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
的错误消息。
我知道在@
之前添加fopen()
suppress the error message,但如何才能获得http错误代码?< / p>
在这里,我希望在变量中获得HTTP/1.1 404 Not Found
。
感谢。
答案 0 :(得分:2)
$http_response_header
将返回响应标头
因此,您可以使用$http_response_header[0]
来获取第一行,在这种情况下,HTTP/1.1 404 Not Found
将是$remote = @fopen ($url, "rb");
if (!$remote) {
echo "Error: " . $http_response_header[0];
}
。
{{1}}