首頁 >後端開發 >php教程 >如何在 PHP 中手動解析原始多部分/表單資料請求?

如何在 PHP 中手動解析原始多部分/表單資料請求?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-28 19:07:29383瀏覽

How to Manually Parse Raw Multipart/Form-Data Requests in PHP?

在PHP 中手動解析原始Multipart/Form-Data 資料

問題概述

解析multipart/form-data 格式的原始HTTP 請求資料可以在PHP 中是具有挑戰性的,特別是當透過未自動解析的PUT 請求接收資料時。

手動解析的解決方案

由於 PHP 不會自動處理帶有 multipart/form-data 的 PUT 請求,請手動解析是必要的。實作方法如下:

  1. 讀取原始資料:使用 file_get_contents('php://input') 讀取原始請求資料。
  2. 擷取邊界:解析CONTENT_TYPE頭,取得分隔多部分資料段的邊界字串。
  3. 分割內容:依照邊界字串將原始資料分成區塊。刪除結尾的“--”元素。
  4. 解析區塊:迭代每個區塊以識別和解析資料欄位:

    • 上傳的檔案: 匹配指示使用application/octet-stream MIME 類型的檔案上傳的區塊。提取名稱屬性和二進位檔案內容。
    • 非檔案欄位: 符合包含表單資料欄位的區塊。提取 name 屬性和相應的值。

用法

  1. 透過引用將空數組作為參數傳遞給 parse_raw_http_request 函數。
  2. 呼叫函數以使用解析的資料填充數組。
  3. 使用與表單欄位名稱對應的陣列鍵存取解析的資料。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn