getallheaders

(PHP 4, PHP 5)

getallheadersВозвращает все заголовки HTTP-запроса

Описание

array getallheaders ( void )

Возвращает все заголовки для текущего HTTP-запроса.

Эта функция является псевдонимом функции apache_request_headers(). Пожалуйста, обратитесь к описанию функции apache_request_headers() для получения детальной информации о ее работе.

Возвращаемые значения

Ассоциативный массив, содержащий все HTTP-заголовки для данного запроса или FALSE в случае возникновения ошибок.

Список изменений

Версия Описание
5.4.0 Эта функция стала доступной при использовании FastCGI. Ранее она была доступна только если PHP был установлен, как модуль Apache.
4.3.3

Начиная с PHP 4.3.3 вы также можете использовать эти функции с модулем NSAPI в серверах Netscape/iPlanet/SunONE.

4.3.0 Функция стала псевдонимом для apache_request_headers(). Соответственно, она была переименована. Это связано с тем, что данная функция работоспособна только в том случае, если PHP был собран в качестве модуля Apache.

Примеры

Пример #1 Пример использования getallheaders()

<?php

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

?>

Смотрите также

Коментарии

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.
2005-04-19 09:25:13
http://php5.kiev.ua/manual/ru/function.getallheaders.html
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;
    }
}
?>
2008-07-06 11:52:54
http://php5.kiev.ua/manual/ru/function.getallheaders.html
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
        } 
}
?>
2010-09-08 13:24:48
http://php5.kiev.ua/manual/ru/function.getallheaders.html
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
2011-06-08 00:16:11
http://php5.kiev.ua/manual/ru/function.getallheaders.html
Автор:
There's a polyfill for this that can be downloaded or installed via composer:

https://github.com/ralouphie/getallheaders
2016-02-11 08:49:27
http://php5.kiev.ua/manual/ru/function.getallheaders.html
A simple approach to dealing with case insenstive headers (as per RFC2616) is via the built in array_change_key_case() function: 

$headers = array_change_key_case(getallheaders(), CASE_LOWER);
2020-02-28 13:18:06
http://php5.kiev.ua/manual/ru/function.getallheaders.html
warning, at least on php-fpm 8.2.1 and nginx,  getallheaders() will return "Content-Length" and "Content-Type" both containing emptystring, even for requests without any of these 2 headers. you can do something like

<?php
$request_headers 
getallheaders();
if((
$request_headers["Content-Type"] ?? null) === "" && ($request_headers["Content-Length"] ?? null) === "") {
   
// probably a getallheaders() bug, not actual request headers.
   
unset($request_headers["Content-Type"], $request_headers["Content-Length"]);
}
?>

- might be a bug in nginx rather than php-fpm, i don't know. anyway a real request wouldn't leave them at emptystring
2023-01-18 16:21:48
http://php5.kiev.ua/manual/ru/function.getallheaders.html

    Поддержать сайт на родительском проекте КГБ