getallheaders

(PHP 4, PHP 5)

getallheadersRecupera todas las cabeceras de petición HTTP

Descripción

array getallheaders ( void )

Recupera todas las cabeceras HTTP de la petición actual.

Esta función es un alias de apache_request_headers(). Por favor lea la documentación de apache_request_headers() para obtener más información sobre cómo trabaja esta función.

Valores devueltos

Un array asociativo de todas las cabeceras HTTP en la petición actual, o FALSE en caso de fallo.

Historial de cambios

Versión Descripción
5.5.7 Está función ahora está disponible en el sevidor CLI.
5.4.0 Esta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
4.3.3

A partir de PHP 4.3.3 también se puede usar esta función con el módulo de servidor NSAPI en los navegadores Netscape/iPlanet/SunONE.

Ejemplos

Ejemplo #1 Ejemplo de getallheaders()

<?php

foreach (getallheaders() as $nombre => $valor) {
    echo 
"$nombre$valor\n";
}

?>

Ver también

add a note add a note

User Contributed Notes 4 notes

up
16
joyview at gmail dot com
6 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
3
acidfilez at gmail dot com
3 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
3
lorro at lorro dot hu
9 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.
up
1
majksner at gmail dot com
4 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;
        }
}
?>
To Top