2016-01-03 36 views
0

我遇到了使用PHP解析http标题的问题。PHP标题解析

当运行此代码:

$headers = getallheaders(); 

所有标头被加载到$headers阵列。但是,如果任何数组键名称中包含“ - ”,则相应的结果为空。例如:

echo $headers[User-Agent]; 

将返回null,而:

echo $headers[Host]; 

通常会返回值。

这是一个错误还是我错过了什么?

回答

1

刚刚尝试使用doube /单引号,如下面的代码:

<?php 
    $headers = getallheaders(); 
    echo $headers["User-Agent"]; 
    echo $headers["Host"]; 
?> 

输出:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/44.0.2403.89 Chrome/44.0.2403.89 Safari/537.36main.xfiddle.com 

试试这个代码php fiddle

+0

仍在我的环境中工作,而它正在小提琴现场工作,你有线索吗? –

1

尝试倾销$headers,看看它是什么。

var_dump($headers); 

找到可用的密钥,并使用它们。

var_dump($headers['User-Agent']); 

请注意,密钥区分大小写。