PHP判断链接是否有效或失效的方法代码,get_headers() 是PHP系统级函数,他返回一个包含有服务器响应一个 HTTP 请求所发送的标头的数组。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息(可用来判断远程文件是否存在)。
函数定义
array get_headers ( string $url [, int $format = 0 ] )
参数
url 目标 URL
format 如果将可选的 format 参数设为 1,则 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 )
具体代码来了。
解释:判断远程url是否有效,根据返回值HTTP中是否有200信息,判断是否是有效url资源 .
<?php $url = "https://www.wdzzz.com//api_mac.php"; $array = get_headers($url,1); if(preg_match('/200/',$array[0])){ echo "<pre/>"; print_r($array); }else{ echo "无效url资源!"; } ?>