PHP

php simulates a code example of the get_headers function


<?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.ofstack.com'));