get_headers() は、HTTP リクエストに応じてサーバーから送信されたヘッダーを含む配列を返す PHP システムレベルの関数です。失敗した場合は 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
()
配列
(<?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/'));