PHP 5.6.18 is available

getallheaders

(PHP 4, PHP 5, PHP 7)

getallheadersObtêm todos os headers HTTP

Descrição

array getallheaders ( void )

Obtém todos cabeçalhos HTTP da atual requisição.

Essa função é um apelido para apache_request_headers(). Veja a documentação de apache_request_headers() para mais informações dessa função.

Valor Retornado

Um array associativo de todos cabeçalhos HTTP da requisição atual, ou FALSE em falha.

Changelog

Versão Descrição
5.5.7 Esta função se tornou disponível no CLI.
5.4.0 Esta função se tornou disponível no FastCGI. Anteriormente ela era suportada no PHP intalado como módulo do Apache ou como um módulo NSAPI nos servidores Netscape/iPlanet/SunONE.

Exemplos

Exemplo #1 Exemplo de getallheadres()

<?php

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

?>

Veja Também

add a note add a note

User Contributed Notes 4 notes

up
35
joyview at gmail dot com
7 years ago
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($name, 0, 5) == 'HTTP_')
           {
              
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
           }
       }
       return
$headers;
    }
}
?>
up
2
majksner at gmail dot com
5 years ago
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;
        }
}
?>
up
3
acidfilez at gmail dot com
4 years ago
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($name, 0, 5) == 'HTTP_')
           {
              
$name = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))));
              
$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
up
4
lorro at lorro dot hu
10 years ago
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.
To Top