通常、ユーザーはブラウザの Web フォームを使用してデータをサーバーの投稿に送信します。PHP を使用して、ユーザーが POST したデータを受信します。サーバーにアクセスし、適切に処理します。しかし、場合によっては、ユーザーがクライアント ソフトウェアを使用してサーバー PHP プログラムにポスト データを送信し、それを識別するために $_POST を使用できない場合は、どのように処理すべきでしょうか?
$_POSTデータを受信するメソッド
$_POST メソッドは、HTTP POST メソッドを通じて渡される変数の配列であり、自動グローバル変数です。たとえば、$_POST['name'] を使用すると、Web フォームおよび Web ページから投稿されたデータを非同期で受信できます。つまり、$_POST は、ドキュメント タイプ Content-Type: application/x-www で送信されたデータのみを受信できます。 -form-urlencoded。
$GLOBALS['HTTP_RAW_POST_DATA'] データを受信するメソッド
投稿されたデータが text/xml や SOAP など、PHP が認識できるドキュメント タイプではない場合は、$GLOBALS['HTTP_RAW_POST_DATA'] を使用してデータを受け取ることができます。 $HTTP_RAW_POST_DATA 変数には、生の POST データが含まれています。この変数は、認識できない MIME タイプのデータが検出された場合にのみ生成されます。 $HTTP_RAW_POST_DATA は、enctype="multipart/form-data" フォーム データでは使用できません。つまり、$HTTP_RAW_POST_DATA を使用すると、Web フォームから投稿されたデータを受け取ることができません。
php://データを受け取るためのinputメソッド
生の POST データにアクセスするより良い方法は、php://input です。 php://input を使用すると、POST の生データを読み取ることができます。 $HTTP_RAW_POST_DATA よりもメモリへの負担が少なく、特別な php.ini 設定は必要ありませんが、php://input は enctype="multipart/form-data" では使用できません。
たとえば、ユーザーはクライアント アプリケーションを使用してファイルをサーバーに投稿しますが、ファイルの内容は気にしませんが、次のコードを使用できます。
リーリー
リーリー
リーリー
以上がこの記事の全内容で、PHPで投稿データを受け取る3つの方法をご理解いただけたかと思います。
http://www.bkjia.com/PHPjc/1011947.html