ホームページ >バックエンド開発 >PHPチュートリアル >$_POST と $_GET が空の場合に PHP でリクエスト ペイロードにアクセスする方法

$_POST と $_GET が空の場合に PHP でリクエスト ペイロードにアクセスする方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-10 16:00:04378ブラウズ

How to Access Request Payload in PHP When $_POST and $_GET Are Empty?

PHP でリクエスト ペイロードにアクセスする方法

ExtJS と ajax ストアを使用する場合、リクエスト データは、POST または GET パラメータを介する代わりに HTTP リクエスト本文で送信されることがあります。その結果、$_POST と $_GET は空のままになります。

解決策

リクエスト本文には、次の PHP コードを使用してアクセスできます。

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

ペイロードが JSON の場合

$data = json_decode($request_body);

これにより、$data 変数に JSON ペイロードを表す配列が設定されます。

php://input の背景

php://input は、リクエスト本文からの生データへのアクセスを提供する読み取り専用ストリーム ラッパーです。これは特に POST リクエストに役立ち、メモリ効率と特定の php.ini ディレクティブからの独立性の点で $HTTP_RAW_POST_DATA よりも優れています。 enctype="multipart/form-data" を使用する場合、php://input は使用できないことに注意してください。

以上が$_POST と $_GET が空の場合に PHP でリクエスト ペイロードにアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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