downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

virtual> <apache_setenv
[edit] Last updated: Fri, 18 May 2012

view this page in

getallheaders

(PHP 4, PHP 5)

getallheadersFetch all HTTP request headers

Description

array getallheaders ( void )

Fetches all HTTP headers from the current request.

This function is an alias for apache_request_headers(). Please read the apache_request_headers() documentation for more information on how this function works.

Return Values

An associative array of all the HTTP headers in the current request, or FALSE on failure.

Changelog

Version Description
5.4.0 This function became available under FastCGI. Previously, it was supported only when PHP was installed as an Apache module.
4.3.3

As of PHP 4.3.3 you can use this function with the NSAPI server module in Netscape/iPlanet/SunONE webservers, too.

4.3.0 Became an alias for apache_request_headers(). Essentially, it was renamed. This is because this function only works with Apache.

Examples

Example #1 getallheaders() example

<?php

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

?>

See Also



virtual> <apache_setenv
[edit] Last updated: Fri, 18 May 2012
 
add a note add a note User Contributed Notes getallheaders
acidfilez at gmail dot com 07-Jun-2011 09:16
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 08-Sep-2010 10:24
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;
        }
}
?>
joyview at gmail dot com 06-Jul-2008 08:52
it could be useful if you using nginx instead of apache

if (!function_exists('getallheaders'))
{
    function getallheaders()
    {
       foreach ($_SERVER as $name => $value)
       {
           if (substr($name, 0, 5) == 'HTTP_')
           {
               $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
           }
       }
       return $headers;
    }
}
lorro at lorro dot hu 19-Apr-2005 06:25
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.

 
show source | credits | sitemap | contact | advertising | mirror sites