マルチパート/フォームデータ POST リクエストの生の投稿データを取得する方法
php://input と $ の両方の制限にもかかわらずマルチパート/フォームデータの POST リクエストを処理する場合、HTTP_RAW_POST_DATA が存在します。
PHP マニュアルによると、「php://input は生の POST データへのアクセスを許可し、$HTTP_RAW_POST_DATA に代わるメモリ効率の高い代替手段を提供します。」ただし、enctype="multipart/form-data" のリクエストでは php://input を使用できないことに注意することが重要です。
この制限を克服するには、リクエスト ヘッダーを操作する賢い解決策が必要です。 Apache 構成に特定の構成を追加すると、受信した multipart/form-data リクエストをインターセプトし、その Content-Type を multipart/form-data-alternate に変更できます。このステップにより、PHP がデータを解析しようとするのを効果的に防止できます。
その後、php://input を利用すると生データへのアクセスが許可され、カスタム解析が可能になります。このアプローチにより、開発者は PHP の組み込み解析メカニズムに依存せずに、マルチパート/フォームデータ フォームからのデータを効率的に処理できます。
この回避策を採用すると、PHP と同様に $_FILES が空になることに注意することが重要です。ファイルのアップロードを処理しようとしません。それにもかかわらず、マルチパート/フォームデータの直接解析が必要な状況では、依然として実行可能なソリューションです。
以上がPHP でマルチパート/フォームデータリクエストから生の POST データにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。