背景
WordPressのサイトを弄っていて、リクエスト内の任意のHTTPヘッダを取得する方法がなかなか分からなかったのでメモ。
やりかた
$_SERVER
グローバル変数 (array型) を使います。
このとき、添字は以下のように変換します。
-
HTTP_
のプレフィックスを付ける - ハイフンはアンダースコアに変換
- すべて大文字に変換
具体例
X-My-Header
というHTTPヘッダの値を取得したい場合、添字は HTTP_X_MY_HEADER
になります。
$myHeader = $_SERVER['HTTP_X_MY_HEADER'];
所感
「すべてのHTTPヘッダが $_SERVER
変数に格納される」仕様はリファレンスのコメント欄で触れられているだけなので、探すのに苦労しました...
関連リンク
以上です。