headers_list 函数将返回一个服务器响应头数组;它不应与保留变量 $http_response_header 混淆——保留变量包含来自 HTTP 请求的响应标头,而 headers_list 包含由 PHP 设置的本地响应标头。
headers_list 函数将原始标题作为索引数组返回;如果需要具有键值对的关联数组,我们还可以解析响应头。
此函数将只返回从 PHP 发送或者准备发送的标头 - 而不是由 Web 服务器控制的响应标头。
此函数在命令行脚本中不起作用。
如果像这样调用 headers_list 函数:
header('test: testing');
var_dump(headers_list());
我们将获得:
array(1) {
[0]=>
string(13) "test: testing"
}
如何解析 headers_list() 数组
在处理 HTTP 标头时,创建键值对的关联数组通常会更有用。
为此,我们应该解析每个标头并使用 PHP 的字符串函数挑选出键和值。
正如在解析 HTTP 头的教程中建立的那样,我们可以使用内置的爆炸函数非常有效地做到这一点:
$headers = array();
$response_headers = headers_list();
foreach ($response_headers as $value) {
if(false !== ($matches = explode(':', $value, 2))) {
$headers["{$matches[0]}"] = trim($matches[1]);
}
}
print_r($headers);
输出:
Array
(
[test] => testing
)
日期:2020-06-02 22:15:41 来源:oir作者:oir
