getallheaders

(PHP 4, PHP 5, PHP 7)

getallheadersPobiera wszystkie nagłówki HTTP obecnego żądania

Opis

getallheaders ( void ) : array

Pobiera wszystkie nagłówki HTTP z obecnego żądania.

Ta funkcja jest aliasem dla apache_request_headers(). Przeczytaj dokumentację apache_request_headers(), aby uzyskać więcej informacji.

Zwracane wartości

Tablica asocjacyjna ze wszystkimi nagłówkami HTTP obecnego żądania lub FALSE w wypadku błędu.

Rejestr zmian

Wersja Opis
7.3.0 Ta funkcja jest dostępna dla SAPI FPM.
5.5.7 Ta funkcja jest dostępna dla serwera CLI.
5.4.0 Ta funkcja jest dostępna dla FastCGI. Wcześniej była wspierana tylko gdy PHP zostało zainstalowane jako moduł Apache lub przez moduł NSAPI na serwerach Netscape/iPlanet/SunONE.

Przykłady

Przykład #1 Przykład użycia getallheaders()

<?php

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

?>

Zobacz też:

add a note add a note

User Contributed Notes 6 notes

up
114
joyview at gmail dot com
11 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
30
Anonymous
4 years ago
There's a polyfill for this that can be downloaded or installed via composer:

https://github.com/ralouphie/getallheaders
up
18
lorro at lorro dot hu
14 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
7
acidfilez at gmail dot com
8 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
0
andersmyren at hotmail dot com
7 months ago
Due to the else part.
}else{
                    $out[$key]=$value;
All server Variables are added to the headers list, and that's not the desired outcome.
up
0
majksner at gmail dot com
9 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