php://input
のメモ。
php://input
を利用するとHTTPのリクエスト・ボディからデータを読み込むことができる。
以下のテスト・プログラムを用いて簡単に検証してみた。(ちなみにPHPのバージョンは5.5.9)
<?php
print(htmlspecialchars(file_get_contents('php://input'), ENT_QUOTES, 'UTF-8'));
?>
上記はphp://input
からデータを読み込んで出力するだけのプログラムである。
以下のcurl
コマンドで上記のテスト・プログラムにHello! How are you?
というメッセージをHTTPのPOSTリクエストに乗せて送ってみた。
curl -i http://localhost/php-input.php -d "Hello! How are you?"
$ curl -i http://localhost/php-input.php -d "Hello! How are you?"
HTTP/1.1 200 OK
Date: Tue, 17 Jan 2023 13:26:04 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.29
Content-Length: 19
Content-Type: text/html
Hello! How are you?
Hello! How are you?
というメッセージがサーバーから応答されているのが確認できた。
参考
http://ld2012.scusa.lsu.edu/php/wrappers.php.html