Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich „multipart/form-data' in PHP für PUT-Anfragen manuell analysieren?

Wie kann ich „multipart/form-data' in PHP für PUT-Anfragen manuell analysieren?

Barbara Streisand
Freigeben: 2024-10-28 06:47:02
Original
955 Leute haben es durchsucht

How Can I Parse Manually `multipart/form-data` in PHP for PUT Requests?

Manuelles Parsen von Multipart-/Formulardaten in PHP für PUT-Anfragen

Das Parsen von rohen Multipart-/Formulardaten in PHP kann eine Herausforderung sein. insbesondere für PUT-Anfragen. Der integrierte Parser von PHP verarbeitet automatisch POST-Anfragen, aber keine PUT-Anfragen.

Hintergrund:

Multipart/form-data ist ein Format, das zum Kapseln mehrerer Datenteile, einschließlich Felder, verwendet wird und Dateien in einem einzigen Anforderungstext. Die Daten werden durch Grenzzeichenfolgen getrennt und jeder Teil hat seinen eigenen Inhaltstyp und Namen.

Manuelles Parsen:

Sie können Multipart-/Formulardaten manuell analysieren Führen Sie die folgenden Schritte aus:

  1. Rufen Sie die rohen Anforderungsdaten ab: $input = file_get_contents('php://input');
  2. Extrahieren Sie die Grenze: preg_match('/boundary= (.*)$/', $_SERVER['CONTENT_TYPE'], $matches);
  3. Teilen Sie die Daten basierend auf der Grenze in Blöcke auf: $a_blocks = preg_split("/- $boundary/", $ input);
  4. Für jeden Block:

    • Für Dateifelder (die „application/octet-stream“ enthalten):

      • Extrahieren Sie den Feldnamen und den Dateiinhalt: preg_match('/name="([^"]*)".*stream[n|r] ([^nr].*)?$/s', $ block, $matches);
    • Für andere Felder:

      • Extrahieren Sie den Feldnamen und -wert: preg_match('/name="( [^"]*)"[n|r] ([^nr].*)?r$/s', $block, $matches);
  5. Weisen Sie das Feld und den Wert einer Datenstruktur zu: $a_data[$matches[1]] = $matches[2];

Beispielverwendung:

<code class="php">$a_data = array();
parse_raw_http_request($a_data);
var_dump($a_data);</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich „multipart/form-data' in PHP für PUT-Anfragen manuell analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage