ホームページ  >  記事  >  バックエンド開発  >  phpの$_POSTの説明例

phpの$_POSTの説明例

零下一度
零下一度オリジナル
2017-07-27 14:58:262826ブラウズ

$_POST: HTTP POST メソッドを通じて渡される変数の配列。は自動グローバル変数です。

$GLOBALS['HTTP_RAW_POST_DATA']: 生の POST データを含む変数を常に生成します。この変数は、認識できない MIME タイプのデータが検出された場合にのみ生成されます。 $HTTP_RAW_POST_DATA は、enctype="multipart/form-data" フォーム データには使用できません。

つまり、基本的に $GLOBALS['HTTP_RAW_POST_DATA'] と $_POST は同じです。

ただし、投稿されたデータが PHP で認識されない場合は、$GLOBALS['HTTP_RAW_POST_DATA'] を使用して、text/xml や SOAP などのデータを受け取ることができます。

  • 追加説明: PHP がデフォルトで認識するデータ型は、application/x-www.form-urlencoded の標準データ型です。

  • マニュアルにはこう書いてあります

    常に元のPOSTを含む変数を生成してください データ。それ以外の場合、この変数は、認識できない MIME タイプのデータが検出された場合にのみ生成されます。ただし、生の POST データにアクセスするより良い方法は、 php://入力。 enctype="multipart/form-data" の $HTTP_RAW_POST_DATA フォームデータは利用できません。

    質問: $HTTP_RAW_POST_DATA == $_POST ?

    マニュアルによれば、答えは「いいえ」であるはずです。
    違うとしたら、何が違いますか?

  • 私は次のように答えを知っています:

    RAW / 未解釈の HTTP POst 情報には、
    $GLOBALS['HTTP_RAW_POST_DATA']
    を使用してアクセスできます。これは、 post Content-Type は PHP が理解できるものではありません (例: text/xml).

    つまり、基本的に $GLOBALS['HTTP_RAW_POST_DATA'] と $_POSTも同様です。ただし、投稿されたデータが PHP で認識できない場合は、次を使用できます。 受信する $GLOBALS['HTTP_RAW_POST_DATA'] (text/xml や SOAP など) 等

    デフォルトでPHPによって認識されるデータ型は、application/x-www.form-urlencoded標準データ型です

    Content-Type=text/xmlを使用してください XML ドキュメントの内容を PHP サーバーに送信し、この POST データを取得する方法を入力します。

    RAW / 未解釈の HTTP POST 情報には $GLOBALS['HTTP_RAW_POST_DATA'] を使用してアクセスできます。 これは、投稿の Content-Type が異なる場合に便利です。 PHP が理解できるもの (text/xml など)。

    PHP はデフォルトで application/x-www.form-urlencoded 標準データ型のみを認識するため、text/xml などのコンテンツを $_POST 配列に解析することはできません。したがって、プロトタイプを保持して $GLOBALS['HTTP_RAW_POST_DATA'] に渡します。 受け取ること。

    別の項目があります php://input この関数は実装することもできます

    php://input を使用すると、POST の生データを読み取ることができます。そして $HTTP_RAW_POST_DATA よりもメモリへの負担が少なく、特別な php.ini は必要ありません。 設定。 php://input は enctype="multipart/form-data" では使用できません。

    アプリ

以上がphpの$_POSTの説明例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。