Home  >  Article  >  php教程  >  php 获取http头:PHP获取http头信息

php 获取http头:PHP获取http头信息

WBOY
WBOYOriginal
2016-06-21 08:50:031406browse

获取http请求的头信息。
PHP手册提供了现成的函数:
getallheaders
(PHP 4, PHP 5)
getallheaders—Fetch all HTTP request headers
说明
arraygetallheaders(void)
Fetches all HTTP headers from the current request.
This function is an alias forapache_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, orFALSEon failure.
Example #1getallheaders()example
foreach (getallheaders() as $name => $value) {
echo "$name: $value\n";
}
?>
不过这个函数只能在apache环境下使用,iis或者nginx并不支持,可以通过自定义函数实现
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;
}
}

?>
好了,看看都打印出了啥吧
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
) 本文链接http://www.cxybl.com/html/wlbc/Php/20130326/37406.html



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