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

Mary-Kate Olsen
發布: 2024-10-28 19:07:29
原創
293 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!