Heim  >  Artikel  >  Backend-Entwicklung  >  PHP获取http请求的头信息实现步骤

PHP获取http请求的头信息实现步骤

PHP中文网
PHP中文网Original
2017-03-21 15:56:542195Durchsuche

PHP手册提供了现成的函数:
getallheaders
(PHP 4, PHP 5)
getallheaders — Fetch all HTTP request headers
说明
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.
返回值
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"; 
} 
?>

不过这个函数只能在apache环境下使用,iis或者nginx并不支持,可以通过自定义函数实现 

<?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; 
    } 
}
 
?>

好了,看看都打印出了啥吧 

<?php 
print_r(getallheaders());

获得结果: 

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 
)

相关文章:

php获取http请求的头信息的方法

php HTTP请求类,支持GET,POST,Multipart/form-data

php实现的http请求封装示例

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn