文字

$http_response_header

$http_response_headerHTTP 响应头

说明

$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);
        if( isset( 
$t[1] ) )
            
$headtrim($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

上一篇: 下一篇: