通过php获取header的几个函数对比,哪个是你需要的?
发布于 作者:苏南大叔 来源:程序如此灵动~
本文描述php
获取header
的几个函数,究竟哪个是所需要的?几个获取header
的函数里面,都有什么不同呢?本文也许能够解答你的相关疑惑。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。测试环境:win10
,nginx@
,php@
。
获取客户请求的header
请求是客户端发起的,服务器端使用下面的函数来获得客户端的全部头信息。
【函数一】官方推荐使用下面这个很无厘头的函数:
getallheaders();
【函数二】如果是基于apache
的服务器环境,也许可以使用下面这个函数,作为备选。
apache_get_header();
【函数三】还可以从$_SERVER
变量里面还原header
信息
if (!function_exists('apache_request_headers')) {
function apache_request_headers() {
foreach($_SERVER as $key=>$value) {
if (substr($key,0,5)=="HTTP_") {
$key=str_replace(" ","-",ucwords(strtolower(str_replace("_"," ",substr($key,5)))));
$out[$key]=$value;
}else{
$out[$key]=$value;
}
}
return $out;
}
}
$headers = apache_request_headers();
参考文章:
获得request
请求的header
这里的请求是从服务器端发起的,去获得另外一个服务器端的响应中的头信息。例如:
$url = 'https://newsn.net/';
$result = get_headers($url);
总结
仅仅是个头信息获取方式的对比,更多php
经验文章,请参考:


