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