php get_headers函数的用法及判断网站是否可以打开
Jun 20, 2016 pm 01:02 PM
php函數
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 工具
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP Deprecated: Function ereg_replace() is deprecated - 解決方法
