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.ityuyan.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.ityuyan.com//api_mac.php";
- $array = get_headers($url,1);
- if(preg_match('/200/',$array[0])){
- echo "<pre/>";
- print_r($array);
- }else{
- echo "无效url资源!";
- }
- ?>