ホームページ  >  記事  >  バックエンド開発  >  【PHP】$_POST、$HTTP_RAW_POST_DATA、php://input,httprawpostdata_PHP教程

【PHP】$_POST、$HTTP_RAW_POST_DATA、php://input,httprawpostdata_PHP教程

WBOY
WBOYオリジナル
2016-07-12 09:04:20824ブラウズ

【PHP】$_POST、$HTTP_RAW_POST_DATA、php://input、httprawpostdata

1. HTML

  • application/x-www-form-urlencodedすべての文字は送信前にエンコードされます (スペースは + に変換され、特殊文字は ASCII HEX に変換されます)
  • multipart/form-data 文字はエンコードされていません。通常はアップロードを使用します
  • text/plain スペースは + に変換されますが、特殊文字はエンコードされません
たとえば、キーと値のペア

リーリー

は次の生データとしてエンコードされます:

リーリー

$_POST リーリー

$HTTP_RAW_POST_DATA リーリー

php://input リーリー

2、$_POST

$_POST は、フォームを取得するために最も一般的に使用される方法です。送信されたデータを連想配列に編成し、urldecode などのエンコード処理、さらにはエンコード変換を実行します。認識されるデータ型は、デフォルトで PHP によって認識されるデータ型です。 application/x-www.form-urlencoded

text/xml、application/json、その他の非 application/x-www.form-urlencoded データ型などのコンテンツを解析できません

3. $HTTP_RAW_POST_DATA

デフォルトで PHP によって認識されるデータ型は application/x-www.form-urlencoded です。Content-Type=application/json タイプを使用します。送信された POST データ $_POST は現時点では取得できませんが、$GLOBALS['HTTP_RAW_POST_DATA を使用します。 '] 取得できる。 PHP が Content-Type を認識できない場合、POST データを $HTTP_RAW_POST_DATA に埋め込むためです。

  • 有効にするには、php.ini の

    値を On に設定しますalways_populate_raw_post_data

  • $_POSTとphp://inputが値を取得できる場合、$HTTP_RAW_POST_DATAは空です

  • enctype="multipart/form-data" では使用できません

  • このグローバル変数は PHP7 で削除され、php://input に置き換えられました。always_populate_raw_post_data を使用すると、

    $HTTP_RAW_POST_DATA を入力するときに E_DEPRECATED エラーが発生します。 今後の PHP バージョンでは削除される可能性があるため、E_DEPRECATED 错误。 请使用php://input 替代 $HTTP_RAW_POST_DATA, 因为它可能在后续的 PHP 版本中被移除。 设置always_populate_raw_post_data 为 -1 (这样会强制 $HTTP_RAW_POST_DATA 未定义,所以也不回导致 E_DEPRECATED$HTTP_RAW_POST_DATA

  • の代わりに php://input を使用してください。 新しい動作を体験するには、always_populate_raw_post_data を -1 に設定します (これにより、強制的に

$HTTP_RAW_POST_DATA

が未定義になるため、E_DEPRECATED エラーは発生しません)。

  • 4.php://input

  • php://input は、入力ストリームを介したファイル読み取りを通じて未処理の POST 生データを取得でき、POST 生データの読み取りを許可します。 $HTTP_RAW_POST_DATA よりもメモリへの負担が少なくなります。
  • 特別なphp.ini設定は必要ありません

enctype="multipart/form-data" では使用できません

http://www.bkjia.com/PHPjc/1073810.htmlwww.bkjia.comtru​​e
http://www.bkjia.com/PHPjc/1073810.html技術記事
【PHP】$_POST、$HTTP_RAW_POST_DATA、php://input、httprawpostdata 1. HTMLフォーム enctype 属性 application/x-www-form-urlencoded すべての文字は送信前にエンコードされます...🎜🎜🎜🎜 🎜🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。