php get_headers函数的用法及判断网站是否可以打开

WBOY
發布: 2016-06-20 13:02:49
原創
1211 人瀏覽過

get_headers() 是PHP系统级函数,他返回一个包含有服务器响应一个 HTTP 请求所发送的标头的数组。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息(可用来判断远程文件是否存在)。

函数定义array get_headers ( string $url [, int $format = 0 ] )参数url 目标 URLformat 如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。

示例

<p><?php</p>$url='http://www.scutephp.com';<br />print_r(get_headers($url));<br />print_r(get_headers($url,1));<br /><p>?></p>
登入後複製

以上例程的输出类似于:

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 模拟get_headers函数。

具体代码如下:

<?php<br />if(!function_exists('get_headers')){<br /> function get_headers($url,$format=0){<br /> $url=parse_url($url);<br /> $end="rnrn";<br /> $fp=fsockopen($url['host'],(empty($url['port'])?80:$url['port']),$errno,$errstr,30);<br /> if($fp){<br /> $out="GET / HTTP/1.1rn";<br /> $out.="Host: ".$url['host']."rn";<br /> $out.="Connection: Closernrn";<br /> $var='';<br /> fwrite($fp,$out);<br /> while(!feof($fp)){<br /> $var.=fgets($fp,1280);<br /> if(strpos($var,$end))<br /> break;<br /> }<br /> fclose($fp);<br /> $var=preg_replace("/rnrn.*$/",'',$var);<br /> $var=explode("rn",$var);<br /> if($format){<br /> foreach($var as $i){<br /> if(preg_match('/^([a-zA-Z -]+): +(.*)$/',$i,$parts))<br /> $v[$parts[1]]=$parts[2];<br /> }<br /> return $v;<br /> }else{<br /> return $var;<br /> }<br /> }<br /> }<br />}<br />echo '<pre class="brush:php;toolbar:false">';<br />print_r(get_headers('http://www.scutephp.com/'));
登入後複製

相关文章:PHP + AJAX 多进程批量 Ping 工具


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板