go4321 发表于 2017-3-22 12:07:16

PHP获取http头信息

  

获取http请求的头信息。
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   
<span class="html">if (!function_exists('getallheaders'))   
{
function getallheaders()   
{
foreach ($_SERVER as $name => $value)   
{
if (substr($name, 0, 5) == 'HTTP_')   
{
$headers = $value;
}
}
return $headers;
}
}</span>   
?>   
 好了,看看都打印出了啥吧



<?php
print_r(getallheaders());
 获得结果



Array
(
=> */*
=> zh-cn
=> gzip, deflate
=> Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)
=> localhost
=> Keep-Alive
)
 
页: [1]
查看完整版本: PHP获取http头信息