get_headers函数
get_headers() 是PHP系统级函数,get_headers函数可以返回服务器响应HTTP标头数组。如果失败则回到 FALSE,并发出一条 E_WARNING 级别的错误信息,我们可以利用这点去判断远程文件是否存在。
函数定义
array get_headers ( string $url [, int $format = 0 ] )
参数
url 目标 URL
format 如果将可选的 format 参数设立为 1,则 get_headers() 可以解析适当的信息并设定数组的键名。
get_headers示例
示例代码:
<?php $url='https://www.wdzzz.com/'; print_r(get_headers($url)); print_r(get_headers($url,1)); ?>
返回数组:
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 )
加上判断的实战示例:
<?php $url = "https://www.wdzzz.com/"; $array = get_headers($url,1); if(preg_match('/200/',$array[0])){ echo "有效"; print_r($array); }else{ echo "失效"; } ?>