ホームページ > バックエンド開発 > PHPチュートリアル > $GLOBALS['HTTP_RAW_POST_DATA'] を取得できないのはなぜですか?

$GLOBALS['HTTP_RAW_POST_DATA'] を取得できないのはなぜですか?

WBOY
リリース: 2016-06-20 12:33:05
オリジナル
1066 人が閲覧しました

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];dump($postStr);$postStr2 = file_get_contents("php://input");dump($postStr2);
ログイン後にコピー

最初のケースでは、出力は null です。2 番目のケースでは出力できますが、それは私が望むものではないようです。
最初のメソッドを使ったことがないので、最初のメソッドの出力結果は $_POST と同じ 1 次元配列ですか?


ディスカッションへの返信 (解決策)

$GLOBALS ['HTTP_RAW_POST_DATA']: 元の POST データを含む $HTTP_RAW_POST_DATA 変数を常に生成します。この変数は、認識できない 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.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート