Maison >développement back-end >tutoriel php >PHP get_headers检测远端文件是否存在的方法
说明: get_headers函数的作用:当访问一个远程地址,把服务器发送的HTTP头以数组形式返回。 而$header[0]则是服务器返回的状态码(状态码一般是第一个返回的)。 因此,要确定一个文件在远端服务器上存在,只需要确定访问这个文件返回的状态码是"HTTP/1.1 200 OK"即可。 也可以通过判断状态码不是"HTTP/1.1 404 Not Found",也可以给出文件存在的解答。 下面再分享二个get_headers函数的例子,供大家参考。 1,获取三位HTTP响应码的例子:
2,排除重定向的例子:
附,php get_headers() get_headers (PHP 5) get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头 说明 array get_headers ( string $url [, int $format ] ) get_headers() 返回一个数组,包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息。 如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。 说明: 自 PHP 5.1.3 起本函数使用默认的流上下文,其可以用 stream_context_get_default() 函数设定和修改。 get_headers()的例子:
输出类似于: Array ( [0] => HTTP/1.1 200 OK [1] => Date: Sat, 29 May 2004 12:28:13 GMT [2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT [4] => ETag: "3f80f-1b6-3e1cb03b" [5] => Accept-Ranges: bytes [6] => Content-Length: 438 [7] => Connection: close [8] => Content-Type: text/html ) Array ( [0] => HTTP/1.1 200 OK [Date] => Sat, 29 May 2004 12:28:14 GMT [Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux) [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT [ETag] => "3f80f-1b6-3e1cb03b" [Accept-Ranges] => bytes [Content-Length] => 438 [Connection] => close [Content-Type] => text/html ) |