PHP 5.4.33 Released

getallheaders

(PHP 4, PHP 5)

getallheadersLiefert alle HTTP-Request-Header

Beschreibung

array getallheaders ( void )

Liefert alle HTTP-Header des aktuellen Requests.

Diese Funktion ist ein Alias für apache_request_headers(). Bitte lesen Sie die Dokumentation zu apache_request_headers(), wenn Sie mehr Informationen darüber benötigen, wie die Funktion arbeitet.

Diese Funktion wird nur unterstützt, wenn PHP als Apache-Modul installiert wurde.

Rückgabewerte

Ein assoziatives Array aller HTTP-Header der aktuellen Anfrage; im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version Beschreibung
4.3.0 Die Funktion wurde zum Alias für apache_request_headers(). Genaugenommen wurde sie umbenannt. Dies wurde notwendig, weil die Funktion nur mit Apache funktioniert.

Beispiele

Beispiel #1 getallheaders()-Beispiel

<?php

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

?>

Anmerkungen

Ab PHP 4.3.3 können Sie diese Funktion auch mit dem NSAPI-Server-Modul für Netscape/iPlanet/SunONE-Webserver nutzen.

Siehe auch

add a note add a note

User Contributed Notes 4 notes

up
7
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
1
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
1
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
0
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