©
本文档使用
php中文网手册 发布
$http_response_header — HTTP 响应头
$http_response_header 数组 与 get_headers() 函数类似。当使用HTTP 包装器时, $http_response_header 将会被 HTTP 响应头信息填充。 $http_response_header 将被创建于局部作用域中。
Example #1 $http_response_header 范例
<?php
function get_contents () {
file_get_contents ( "http://example.com" );
var_dump ( $http_response_header );
}
get_contents ();
var_dump ( $http_response_header );
?> 以上例程的输出类似于:
array(9) {
[0]=>
string(15) "HTTP/1.1 200 OK"
[1]=>
string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
[2]=>
string(29) "Server: Apache/2.2.3 (CentOS)"
[3]=>
string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
[4]=>
string(27) "ETag: "280100-1b6-80bfd280""
[5]=>
string(20) "Accept-Ranges: bytes"
[6]=>
string(19) "Content-Length: 438"
[7]=>
string(17) "Connection: close"
[8]=>
string(38) "Content-Type: text/html; charset=UTF-8"
}
NULL
[#1] MangaII [2015-05-01 13:01:07]
parser function to get formatted headers (with response code)
<?php
function parseHeaders( $headers )
{
$head = array();
foreach( $headers as $k=>$v )
{
$t = explode( ':', $v, 2 );
if( isset( $t[1] ) )
$head[ trim($t[0]) ] = trim( $t[1] );
else
{
$head[] = $v;
if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
$head['reponse_code'] = intval($out[1]);
}
}
return $head;
}
print_r(parseHeaders($http_response_header));
?>
[#2] nicolas at toniazzi dot net [2013-10-01 13:42:59]
Note that the HTTP wrapper has a hard limit of 1024 characters for the header lines.
Any HTTP header received that is longer than this will be ignored and won't appear in $http_response_header.
The cURL extension doesn't have this limit.
http_fopen_wrapper.c: #define HTTP_HEADER_BLOCK_SIZE 1024