如何取得多部分/表單資料POST 要求的原始Post 資料
儘管php://input 和$ 都有限制HTTP_RAW_POST_DATA 在W_POST_DATA 在W_POST_DATA處理multipart/form-data POST 請求時,有一個解決方法。
根據PHP 手冊,「php://input 允許存取原始POST 數據,為$HTTP_RAW_POST_DATA 提供更節省記憶體的替代方案。」但是,需要注意的是,php://input 對於enctype=" multipart/form-data" 的請求不可用。
要克服此限制,一個聰明的解決方案涉及操作請求標頭。透過為 Apache 配置新增特定配置,您可以攔截傳入的 multipart/form-data 請求並將其 Content-Type 變更為 multipart/form-data-alternate。此步驟有效地阻止 PHP 嘗試解析資料。
隨後,利用 php://input 將授予對原始資料的存取權限,從而啟用自訂解析。這種方法允許開發人員有效地處理來自 multipart/form-data 表單的數據,而無需依賴 PHP 的內建解析機制。
重要的是要注意,使用此解決方法將使 $_FILES 為空,因為 PHP 會不嘗試處理檔案上傳。儘管如此,對於需要直接解析多部分/表單資料的情況,它仍然是一個可行的解決方案。
以上是如何在 PHP 中從多部分/表單資料請求存取原始 POST 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!