-
- $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 リクエスト ヘッダーを取得するには、次のコードも追加する必要があります。
- 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'])) {
- $header['CONTENT_LENGTH'] = $_SERVER['CONTENT_LENGTH']
- }
- if (isset($_SERVER[' CONTENT_TYPE'])) {
- $header['CONTENT-TYPE'] = $_SERVER['CONTENT_TYPE']?>
-
-
- コードをコピー
;
|