他们全部存储在$_SERVER
? 即使是自定义的?
Answer 1:
试试这个
print_r
($ _ SERVER)
它会列出阵列内的一切
Answer 2:
你可以使用getallheaders()
获取发送的所有HTTP标头的数组。
$headers = getallheaders();
foreach($headers as $key=>$val){
echo $key . ': ' . $val . '<br>';
}
Answer 3:
每个HTTP请求报头字段是在$_SERVER
(除Cookie
)和与该键开始HTTP_
。 如果你使用Apache,你也可以尝试apache_request_headers
。
Answer 4:
你可以简单地使用apache_request_headers()
或它的别名getallheaders()
。
用法: echo json_encode(getallheaders());
如果上述功能不存在(旧PHP或nginx的),你可以用这个作为后备:
<?php
if (!function_exists('getallheaders')){
function getallheaders() {
$headers = '';
foreach ($_SERVER as $name => $value) {
if (substr($name, 0, 5) == 'HTTP_') {
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $headers;
}
}
?>
Answer 5:
看看$ _SERVER变量,看它所包含的内容。 链接的手册页有很多有用的信息,也根本做var_dump
它来看看它实际上是。 许多条目会或不会进行,弥漫在这取决于客户决定做,和PHP的奇怪怪癖。 看着我的本地服务器上的一个,还有一个$ _ SERVER [“ALL_HTTP”]条目,只是列出它们都作为一个字符串,但显然这是不规范的,因为它没有手动页面上列出。
Answer 6:
你可以使用apache_request_header(); 也许帮助你。
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "<pre>";
echo "$header : $value";
echo "</pre>";
}
文章来源: How can I get PHP to display the headers it received from a browser?