Manuelles Parsen von rohen Multipart-/Formulardatendaten in PHP
Problemübersicht
Das Parsen von rohen HTTP-Anforderungsdaten im Multipart-/Formdatenformat kann kann in PHP eine Herausforderung darstellen, insbesondere wenn Daten über eine PUT-Anfrage empfangen werden, die nicht automatisch geparst wird.
Lösung mit manueller Analyse
Da PHP PUT-Anfragen mit Multipart-/Formulardaten nicht automatisch verarbeitet, manuell Parsen ist notwendig. So kann dies erreicht werden:
-
Rohdaten lesen: Verwenden Sie file_get_contents('php://input'), um die rohen Anforderungsdaten zu lesen.
- Grenze extrahieren: Analysieren Sie den CONTENT_TYPE-Header, um die Grenzzeichenfolge zu erhalten, die mehrteilige Datensegmente trennt.
-
Inhalt aufteilen: Teilen Sie die Rohdaten basierend auf der Grenzzeichenfolge in Blöcke auf . Entfernen Sie das nachgestellte „--“-Element.
-
Blöcke analysieren: Durchlaufen Sie jeden Block, um die Datenfelder zu identifizieren und zu analysieren:
-
Hochgeladene Dateien: Vergleichen Sie Blöcke, die Datei-Uploads anzeigen, mithilfe des MIME-Typs application/octet-stream. Extrahieren Sie das Namensattribut und den Inhalt der Binärdatei.
-
Nicht-Dateifelder: Vergleichen Sie Blöcke mit Formulardatenfeldern. Extrahieren Sie das Namensattribut und den entsprechenden Wert.
Verwendung
- Übergeben Sie ein leeres Array als Referenz als Argument an die Funktion parse_raw_http_request.
- Rufen Sie die Funktion auf, um das Array mit analysierten Daten zu füllen.
- Greifen Sie mit den Array-Schlüsseln, die den Formularfeldnamen entsprechen, auf die analysierten Daten zu.
Das obige ist der detaillierte Inhalt vonWie kann ich rohe Multipart-/Formulardatenanfragen in PHP manuell analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!