ホームページ > バックエンド開発 > PHPチュートリアル > PHP が POST データを受信する方法についての簡単な説明_PHP チュートリアル

PHP が POST データを受信する方法についての簡単な説明_PHP チュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-13 09:51:36
オリジナル
993 人が閲覧しました

PHP が POST データを受信する方法についての簡単な説明

この記事では、PHP が POST データを受信する 3 つの方法を簡単に紹介し、簡単な例を添付します。必要な方は参考にしてください。

通常、ユーザーはブラウザの Web フォームを使用してサーバーにデータを投稿します。当社は PHP を使用して、ユーザーがサーバーに投稿したデータを受信し、適切に処理します。しかし、場合によっては、ユーザーがクライアント ソフトウェアを使用してサーバー 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" では使用できません。

たとえば、ユーザーはクライアント アプリケーションを使用してファイルをサーバーに投稿しますが、ファイルの内容は気にしませんが、ファイルを完全にサーバーに保存したいとします。

?

1

2

3

$input = file_get_contents('php://input');

file_put_contents($original, $input); //$original はサーバー上のファイルです

上記のコードは、file_get_contents('php://input') を使用して投稿データを受信し、そのデータを $original ファイルに書き込みます。実際には、クライアントからサーバーにファイルをアップロードしていると理解できます。このようなアプリケーションは数多くあり、特に PHP 開発が C、C++、その他のアプリケーション開発と共同で製品を開発する必要がある場合に使用されます。

以下は、$_POST、$GLOBALS['HTTP_RAW_POST_DATA']、および php://input の 3 つの異なる方法で POST データを受信する処理を示す小さな例です。

a.html

?

1

post.php

?

2

3

4

5

6

1

2

3

4

5

6

7

8

9

10

11

12

13

14

header("Content-type:text/html;charset=utf-8");

echo '$_POST受信收:
';

print_r($_POST);

エコー '


';

echo '$GLOBALS['HTTP_RAW_POST_DATA']受信:
';

print_r($GLOBALS['HTTP_RAW_POST_DATA']);

エコー '


';

echo 'php://input受信收:
';

$data = file_get_contents('php://input');

print_r(urldecode($data));

以上が本書のすべての内容であり、php がポストデータを受信する 3 つの方法を大家が理解できることを願っています。

http://www.bkjia.com/PHPjc/1012364.html

tru​​ehttp://www.bkjia.com/PHPjc/1012364.html技術記事浅い PHP による POST データ受信方法 本書では、PHP による POST データ受信の 3 つの方法を紹介しており、必要な小さなパートナーが一般的な状況を参照できるよう、1 つの例を添付しています。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート