网络编程 
首页 > 网络编程 > 浏览文章

php 模拟get_headers函数的代码示例

(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )

复制代码 代码如下:
<?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('https://www.jb51.net'));

上一篇:使用Apache的htaccess防止图片被盗链的解决方法
下一篇:php获取本地图片文件并生成xml文件输出具体思路