php get all headers code example

Example 1: php get request header

// Since PHP 5.4.0 you can use getallheaders function which returns all request headers as an associative array:

var_dump(getallheaders());

// array(8) {
//   ["Accept"]=>
//   string(63) "text/html[...]"
//   ["Accept-Charset"]=>
//   string(31) "ISSO-8859-1[...]"
//   ["Accept-Encoding"]=>
//   string(17) "gzip,deflate,sdch"
//   ["Accept-Language"]=>
//   string(14) "en-US,en;q=0.8"
//   ["Cache-Control"]=>
//   string(9) "max-age=0"
//   ["Connection"]=>
//   string(10) "keep-alive"
//   ["Host"]=>
//   string(9) "localhost"
//   ["User-Agent"]=>
//   string(108) "Mozilla/5.0 (Windows NT 6.1; WOW64) [...]"
// }

Example 2: getallheaders()

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;

    }

}

?>

Example 3: getallheaders()

There's a polyfill for this that can be downloaded or installed via composer:

https://github.com/ralouphie/getallheaders

Tags:

Php Example