Home  >  Article  >  Backend Development  >  PHP implementation steps to obtain the header information of http request

PHP implementation steps to obtain the header information of http request

PHP中文网
PHP中文网Original
2017-03-21 15:56:542252browse

The PHP manual provides ready-made functions:
getallheaders
(PHP 4, PHP 5)
getallheaders — Fetch 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 theapache_request_headers() documentation for more information on how this function works.
Return value
An associative array of all the HTTP headers in the current request, orFALSE on failure.
Example #1 getallheaders() example

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

However, this function can only be used in the apache environment, iis or nginx does not support it, it can be implemented through custom functions

<?php 
if (!function_exists(&#39;getallheaders&#39;)) 
{ 
    function getallheaders() 
    { 
       foreach ($_SERVER as $name => $value) 
       { 
           if (substr($name, 0, 5) == &#39;HTTP_&#39;) 
           { 
               $headers[str_replace(&#39; &#39;, &#39;-&#39;, ucwords(strtolower(str_replace(&#39;_&#39;, &#39; &#39;, substr($name, 5)))))] = $value; 
           } 
       } 
       return $headers; 
    } 
}
 
?>

Okay, let’s see what is printed

<?php 
print_r(getallheaders());

Get the result:

Array 
( 
[Accept] => */* 
[Accept-Language] => zh-cn 
[Accept-Encoding] => gzip, deflate 
[User-Agent] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727) 
[Host] => localhost 
[Connection] => Keep-Alive 
)

Related articles:

php method to obtain the header information of http request

php HTTP request class, supports GET, POST, Multipart/form-data

Example of http request encapsulation implemented by php

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn