首页 >后端开发 >php教程 >如何在 PHP 中访问请求标头?

如何在 PHP 中访问请求标头?

Linda Hamilton
Linda Hamilton原创
2024-12-09 09:02:07701浏览

How Can I Access Request Headers in PHP?

在 PHP 中访问请求标头

检索特定或所有请求标头是 PHP 开发中的常见任务。以下是您可以使用的不同方法:

单个标头检索(Apache 模块或 FastCGI)

如果您只需要特定标头,最有效的方法是使用 HTTP 标头名称作为 $_SERVER 数组中的键直接访问它。将 XXXXXX_XXXX 替换为大写的标头名称(连字符替换为下划线)。

// Retrieve the "X-Requested-With" header value
$headerValue = $_SERVER['HTTP_X_REQUESTED_WITH'];

所有标头检索

Apache 模块或 FastCGI(简单方法) )

apache_request_headers() 函数提供对所有请求标头的访问。

$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}

所有其他情况(用户态实现)

如果 apache_request_headers() 不可用,您可以使用自定义函数从 $_SERVER 中提取标头array.

function getRequestHeaders() {
    $headers = array();
    foreach ($_SERVER as $key => $value) {
        if (substr($key, 0, 5) != 'HTTP_') {
            continue;
        }
        $header = str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))));
        $headers[$header] = $value;
    }
    return $headers;
}

$headers = getRequestHeaders();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}

其他资源:

  • getallheaders() (PHP >= 5.4):跨平台工作的 apache_request_headers() 的替代方法平台。
  • apache_response_headers():检索 HTTP 响应标头。
  • headers_list():列出要在响应中发送的标头。

以上是如何在 PHP 中访问请求标头?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn