php 模拟get_headers函数的代码示例
<?php
02 if(!function_exists('get_headers')){
03 function get_headers($url,$format=0){
04 $url=parse_url($url);
05 $end="\r\n\r\n";
06 $fp=fsockopen($url['host'],(empty($url['port'])?80:$url['port']),$errno,$errstr,30);
07 if($fp){
08 $out="get / http/1.1\r\n";
09 $out.="host: ".$url['host']."\r\n";
10 $out.="connection: close\r\n\r\n";
11 $var='';
12 fwrite($fp,$out);
13 while(!feof($fp)){
14 $var.=fgets($fp,1280);
15 if(strpos($var,$end))
16 break;
17 }
18 fclose($fp);
19 $var=preg_replace("/\r\n\r\n.*\$/",'',$var);
20 $var=explode("\r\n",$var);
21 if($format){
22 foreach($var as $i){
23 if(preg_match('/^([a-za-z -]+): +(.*)$/',$i,$parts))
24 $v[$parts[1]]=$parts[2];
25 }
26 return $v;
27 }else{
28 return $var;
29 }
30 }
31 }
32 }
33 echo '<pre>';
34 print_r(get_headers('//www.jb51.net'));