欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php 模拟get_headers函数的代码示例

程序员文章站 2022-05-11 22:45:08
...
复制代码 代码如下:


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 '

';  

34 print_r(get_headers('http://www.jb51.net'));