PHP:headers_list

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