ホームページ php教程 PHP源码 PHP で POST データを取得する 3 つの方法

PHP で POST データを取得する 3 つの方法

Nov 08, 2016 pm 01:59 PM

方法 1、$_POST

$_POST または $_REQUEST は、PHP でフォーマットされたデータを key=>value の形式で保存します。

方法 2、file_get_contents("php://input") を使用します

Content-Type が指定されていない POST データの場合は、file_get_contents("php://input"); を使用して元のデータを取得できます。
実際、PHP を使用して POST で受信したデータはすべてこのメソッドを使用します。 Content-Type に関係なく、バイナリ ファイル ストリームを含めることも可能です。
$HTTP_RAW_POST_DATA と比較して、メモリへの負担が少なく、特別な php.ini 設定は必要ありません。
php://input は、Content-Type が multipart/form-data である POST データを読み取ることができません。php.ini の always_populate_raw_post_data 値を On に設定する必要があります。
php://input は $_GET データを読み取ることができません。これは、$_GET データが http リクエストの本文部分ではなく、http リクエスト ヘッダーの PATH フィールドに query_path として書き込まれているためです。

方法 3、グローバル変数 $GLOBALS[‘HTTP_RAW_POST_DATA’] を使用します

POST からの元のデータは $GLOBALS[‘HTTP_RAW_POST_DATA’] に保存されます。
ただし、POSTデータが$GLOBALS['HTTP_RAW_POST_DATA']に保存されるかは、centent-Typeの設定に依存します。PHPがContent-Typeを認識できない場合のみ、POSTデータがそのまま変数に格納されます。 GLOBALS['HTTP_RAW_POST_DATA']、Content-Type=application/x-www-form-urlencoded の場合、この変数は空です。
さらに、Content-Type が multipart/form-data である POST データを読み取ることはできません。PHP が常に POST データを変数 $http_raw_post_data に入力するように、php.ini の always_populate_raw_post_data 値を On に設定する必要もあります。


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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)