File_get_contents("php://input") 対 $HTTP_RAW_POST_DATA: JSON リクエスト データの取得
JSON リクエスト データを処理する際、開発者は多くの場合、 file_get_contents("php://input") を使用するか、 $HTTP_RAW_POST_DATA。この記事では、両方の方法の長所と短所を検討し、最適な結果を得るためにどちらを選択するかに関するガイダンスを提供します。
file_get_contents("php://input")
file_get_contents ("php://input") により、リクエストの生の本文に直接アクセスできるようになります。 $HTTP_RAW_POST_DATA よりもメモリ消費が少なく、特定の php.ini ディレクティブは必要ありません。ただし、「multipart/form-data」enctype とは互換性がありません。
$HTTP_RAW_POST_DATA
$HTTP_RAW_POST_DATA には、フォーム データやアップロードされた未加工のリクエスト本文が含まれます。ファイル。これを使用するには、php.ini で「always_populate_raw_post_data」を -ON に設定する必要があります。このメソッドは、リクエストが「multipart/form-data」でない場合にのみ有効です。
メソッドの選択
主に JSON データを操作していて、 「multipart/form-data」のサポートは必要ありませんが、シンプルでメモリ使用量が少ないため、 file_get_contents("php://input") が推奨されるオプションです。一方、「multipart/form-data」の互換性が重要な場合は、php.ini で「always_populate_raw_post_data」を有効にした後、$HTTP_RAW_POST_DATA が必要です。
JSON データ送信のリクエスト タイプ
XmlHTTPRequest で JSON データを送信するリクエストの種類について、GET と POST の両方雇用することができる。ただし、より大きなデータ ペイロードが可能であり、GET よりも安全であるため、通常は POST メソッドの方が適切です。 POST メソッドを使用する場合は、送信されるデータが JSON でエンコードされていることを示すために、「Content-Type」ヘッダーが「application/json」に設定されていることを確認してください。
以上が`file_get_contents(\'php://input\')` または `$HTTP_RAW_POST_DATA`: JSON データを取得するにはどちらの方法を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。