如何在 PHP 中從多部分/表單資料請求存取原始 POST 資料?

Linda Hamilton
發布: 2024-11-26 15:01:10
原創
425 人瀏覽過

How Can I Access Raw POST Data from Multipart/Form-Data Requests in PHP?

存取多部分/表單資料請求的原始發布資料

雖然PHP 提供了php://input 和$HTTP_RAW_POST_DATA 等機制於檢索原始POST 數據,這些方法對於多部分/表單資料請求無效。根據PHP 手冊:

「[...] php://input 不適用於enctype="multipart/form-data"。」

Multipart 的解決方案/Form -Data Forms

存取此類表單的原始資料需要解決方法。您不能直接檢索它,因為 PHP 會自動解析它。但是,您可以採用以下技巧:

  1. 修改您的Apache 配置:
<Location "/backend/XXX.php">
    SetEnvIf Content-Type ^(multipart/form-data)(.*) NEW_CONTENT_TYPE=multipart/form-data-alternate OLD_CONTENT_TYPE=
    RequestHeader set Content-Type %{NEW_CONTENT_TYPE}e env=NEW_CONTENT_TYPE
</Location>
登入後複製
  1. 這將更改發送到XXX 的請求的Content-Type .php 從multipart/form-data 到multipart/form-data-alternate。這將阻止 PHP 自動解析資料。
  2. 從 php://input 讀取原始資料。現在您可以檢索原始資料並自行解析它。

注意:

雖然此解決方法解決了原始資料檢索問題,但它會導致空 $_FILES 陣列。

以上是如何在 PHP 中從多部分/表單資料請求存取原始 POST 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板