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.
getallheaders
(PHP 4, PHP 5)
getallheaders — Recupera 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.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. |
| 4.3.0 | Se convierte en un alias de apache_request_headers(). Básicamente, fue renombrada. Esto se debe a que esta función solo trabaja con Apache. |
Ejemplos
Ejemplo #1 Ejemplo de getallheaders()
<?php
foreach (getallheaders() as $nombre => $valor) {
echo "$nombre: $valor\n";
}
?>
lorro at lorro dot hu ¶
8 years ago
joyview at gmail dot com ¶
4 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;
}
}
?>
acidfilez at gmail dot com ¶
2 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
majksner at gmail dot com ¶
2 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;
}
}
?>
