认证功能,这个变量便是认证的类型。
在
PHP 里,想要得到所有的 HTTP 请求头,可以使用 getallheaders 方法,不过此方法并不
是在任何环境下都存在,比如说,你使用
fastcgi 方式运行 PHP 的话,就没有这个方法,所
以说我们还需要考虑别的方法,幸运的是
$_SERVER 里有我们想要的东西,它里面键名以
HTTP_开头的就是 HTTP 请求头:
代码如下
:
<?php
$headers = array();
foreach ($_SERVER as $key => $value) {
if ('HTTP_' == substr($key, 0, 5)) {
$headers[str_replace()('_', '-', substr($key, 5))] = $value;
}
}
?>
说明:
RFC 里明确指出了信息头的名字是不区分大小写的。
不过并不是所有的
HTTP 请求头都是以 HTTP_开头的的键的形式存在与$_SERVER 里,比
如说
Authorization,Content-Length,Content-Type 就不是这样,所以说为了取得所有的
HTTP 请求头,还需要加上下面这段代码:
代码如下
:
<?php
if (isset()($_SERVER['PHP_AUTH_DIGEST'])) {
$header['AUTHORIZATION'] = $_SERVER['PHP_AUTH_DIGEST']);
} elseif (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
$header['AUTHORIZATION'] = base64_encode($_SERVER['PHP_AUTH_USER'] . ':' .
$_SERVER['PHP_AUTH_PW']));
}
if (isset($_SERVER['CONTENT_LENGTH'])) {