Edited at

PHPで任意のHTTPヘッダをリクエストから取得する方法


背景

WordPressのサイトを弄っていて、リクエスト内の任意のHTTPヘッダを取得する方法がなかなか分からなかったのでメモ。


やりかた

$_SERVER グローバル変数 (array型) を使います。

このとき、添字は以下のように変換します。



  • HTTP_ のプレフィックスを付ける

  • ハイフンはアンダースコアに変換

  • すべて大文字に変換


具体例

X-My-Header というHTTPヘッダの値を取得したい場合、添字は HTTP_X_MY_HEADER になります。

$myHeader = $_SERVER['HTTP_X_MY_HEADER'];


所感

「すべてのHTTPヘッダが $_SERVER 変数に格納される」仕様はリファレンスのコメント欄で触れられているだけなので、探すのに苦労しました... :cry:


関連リンク


-

以上です。