getallheaders()
是一个 PHP 函数,用于获取 HTTP 请求的标头信息。它在大多数 Web 服务器环境中都可以使用,但在某些特定的服务器配置下可能会遇到问题。
例如,在 Apache 服务器上,getallheaders()
通常可以正常工作。但是,在 Nginx 服务器上,由于 Nginx 不支持 getallheaders()
函数,因此在 Nginx 环境中使用该函数可能会导致错误。在这种情况下,你可以使用 $_SERVER
超全局变量来获取 HTTP 请求头信息,如下所示:
foreach ($_SERVER as $name => $value) {
if (substr($name, 0, 5) === 'HTTP_') {
$header = str_replace('_', ' ', ucwords(strtolower(substr($name, 5))));
$headers[$header] = $value;
}
}
这段代码将遍历 $_SERVER
数组,查找以 “HTTP_” 开头的键名,并将其转换为可读的 HTTP 标头名称。然后将这些标头存储在 $headers
数组中,以便在 PHP 脚本中使用。