PHP:获取 fopen() HTTP 响应错误代码

Dav*_*oua 0 php fopen http-headers

我想在通过fopen()函数打开远程文件时获取 HTTP 错误代码。

我有以下代码:

$remote = fopen ($url, "rb");
Run Code Online (Sandbox Code Playgroud)

如果 URL 正确,文件将被打开。否则,fopen会触发类似于 的错误消息Warning: fopen(url): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

我知道@在 之前添加fopen()抑制错误消息
但是我怎样才能获得 http 错误代码呢?

在这里,我想进入HTTP/1.1 404 Not Found一个变量。

谢谢。

Dav*_*oua 5

$http_response_header返回的响应头。
因此$http_response_header[0],在这种情况下,您可以使用which来获取第一行,将恰好是HTTP/1.1 404 Not Found.

$remote = @fopen ($url, "rb");
if (!$remote) {
   echo "Error: " . $http_response_header[0];
}
Run Code Online (Sandbox Code Playgroud)