文字

getallheaders

(PHP 4, PHP 5, PHP 7)

getallheaders获取全部 HTTP 请求头信息

说明

array getallheaders ( void )

获取当前请求的所有请求头信息。

此函数是 apache_request_headers() 的别名。 请阅读 apache_request_headers() 文档获得更多信息。

返回值

包含当前请求所有头信息的数组,失败返回 FALSE

更新日志

版本 说明
5.5.7 此函数可用于 CLI server。
5.4.0 此函数可用于 FastCGI。 此前仅在PHP以 Apache 模块方式运行时支持。
4.3.3

从 PHP 4.3.3 起,也可在 Netscape/iPlanet/SunONE Web 服务器的 NSAPI 服务器模块使用此函数。

4.3.0 被改名而成为 apache_request_headers() 的别名。因为此函数仅适用于 Apache 。

范例

Example #1 getallheaders() 示例

<?php

foreach ( getallheaders () as  $name  =>  $value ) {
    echo 
" $name $value \n" ;
}

?>

参见

  • apache_response_headers() - 获得全部 HTTP 响应头信息

用户评论:

[#1] acidfilez at gmail dot com [2011-06-07 21:16:11]

dont forget to add the content_type and content_lenght if your are uploading file:

<?php
  
function emu_getallheaders() {
        foreach (
$_SERVER as $name => $value
       {
           if (
substr($name05) == 'HTTP_'
           {
               
$name str_replace(' ''-'ucwords(strtolower(str_replace('_'' 'substr($name5)))));
               
$headers[$name] = $value;
           } else if (
$name == "CONTENT_TYPE") {
               
$headers["Content-Type"] = $value;
           } else if (
$name == "CONTENT_LENGTH") {
               
$headers["Content-Length"] = $value;
           } 
       }
       return 
$headers;
    }
?>


chears magno c. heck

[#2] majksner at gmail dot com [2010-09-08 10:24:48]

apache_request_headers replicement for nginx

<?php
if (!function_exists('apache_request_headers')) { 
        function 
apache_request_headers() { 
            foreach(
$_SERVER as $key=>$value) { 
                if (
substr($key,0,5)=="HTTP_") { 
                    
$key=str_replace(" ","-",ucwords(strtolower(str_replace("_"," ",substr($key,5))))); 
                    
$out[$key]=$value
                }else{
                    
$out[$key]=$value
        }
            } 
            return 
$out
        } 
}
?>

[#3] joyview at gmail dot com [2008-07-06 08:52:54]

it could be useful if you using nginx instead of apache

<?php
if (!function_exists('getallheaders')) 
{
    function 
getallheaders() 
    {
           
$headers '';
       foreach (
$_SERVER as $name => $value
       {
           if (
substr($name05) == 'HTTP_'
           {
               
$headers[str_replace(' ''-'ucwords(strtolower(str_replace('_'' 'substr($name5)))))] = $value;
           }
       }
       return 
$headers;
    }
}
?>

[#4] lorro at lorro dot hu [2005-04-19 06:25:13]

Beware that RFC2616 (HTTP/1.1) defines header fields as case-insensitive entities. Therefore, array keys of getallheaders() should be converted first to lower- or uppercase and processed such.

上一篇: 下一篇: