复制代码
说明:get_headers函数的作用:当访问一个远程地址,把服务器发送的http头以数组形式返回。而$header[0]则是服务器返回的状态码(状态码一般是第一个返回的)。因此,要确定一个文件在远端服务器上存在,只需要确定访问这个文件返回的状态码是http/1.1 200 ok即可。也可以通过判断状态码不是http/1.1 404 not found,也可以给出文件存在的解答。
下面再分享二个get_headers函数的例子,供大家参考。
1,获取三位http响应码的例子:
复制代码
2,排除重定向的例子:
array('max_redirects'=>1,'ignore_errors'=>1) ); stream_context_get_default($opts); } //get headers $headers=get_headers($url,$format); //restore default options if (isset($opts)) { $opts = array('http' => array('max_redirects'=>20,'ignore_errors'=>0) ); stream_context_get_default($opts); } //return return $headers; } ?>
复制代码
附,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)