生のPOSTデータが取れない
別に今まさに困っているというわけではないんだけど、PHPで生のPOSTデータが取れなくてどうしたもんだろうと思ったのでメモ。
正確にはContent-Typeがmultipart/form-dataの時に取れない。
まずは$HTTP_RAW_POST_DATAについて。
$HTTP_RAW_POST_DATA - 生の POST データ
説明
$HTTP_RAW_POST_DATA には生の POST データが格納されます。 always_populate_raw_post_data も参照ください。
なんとも味気ないが、とりあえずalways_populate_raw_post_dataを見ろということらしい。
ので見に行ってみると、
always_populate_raw_post_data boolean
$HTTP_RAW_POST_DATAはmultipart/form-dataの場合には無効だということと、php://inputから読み込んだ方が良いということがわかった。
php://inputならmultipart/form-dataの時でも読めるのだろうか?
なんということか。php://inputもmultipart/form-dataの時は使えないと書いてあるではないか。
ではいったいどのようにすればmultipart/form-dataの生データが取れるのだろうか。
取れないのかなぁ。取れないんだろうなぁ。