


Wie analysiere ich manuell Multipart-/Formulardatendaten für PUT-Anfragen in PHP?
Oct 29, 2024 am 11:32 AMManuelles Parsen von mehrteiligen/Formulardaten-Rohdaten in PHP für PUT-Anfragen
Beim Arbeiten mit mehrteiligen/Formulardatenanforderungen, insbesondere in Im Kontext von HTTP-PUT-Vorgängen verarbeitet das integrierte Parsing von PHP die Rohdaten möglicherweise nicht automatisch, wie dies bei POST-Anfragen der Fall ist. Um dieses Problem zu lösen, ist eine manuelle Analyse erforderlich.
Abrufen der Rohdaten
Zuerst rufen Sie den rohen HTTP-Anfragetext mit file_get_contents('php://input' ab) ).
Parsen des Content-Type-Headers
Extrahieren Sie die mehrteilige Grenze aus dem Content-Type-Header mithilfe eines regulären Ausdrucks:
<code class="php">preg_match('/boundary=(.*)$/', $_SERVER['CONTENT_TYPE'], $matches); $boundary = $matches[1];</code>
Aufteilen der Daten
Teilen Sie die Rohdaten in einzelne Blöcke auf, die durch die Grenze getrennt sind:
<code class="php">$a_blocks = preg_split("/-+$boundary/", $input); array_pop($a_blocks);</code>
Iterieren über Blöcke
Durchlaufen Sie jeden Block und analysieren Sie seinen Inhalt:
<code class="php">foreach ($a_blocks as $id => $block) { // Check if the block contains uploaded files if (strpos($block, 'application/octet-stream') !== FALSE) { // Extract file metadata using regex preg_match('/name=\&quot;([^\&quot;]*)\&quot;.*stream[\n|\r]+([^\n\r].*)?$/s', $block, $matches); } // Parse other form fields else { // Extract form field name and value using regex preg_match('/name=\&quot;([^\&quot;]*)\&quot;[\n|\r]+([^\n\r].*)?\r$/s', $block, $matches); } $a_data[$matches[1]] = $matches[2]; }</code>
Auf die analysierten Daten kann jetzt über das Array $a_data zugegriffen werden. Mit dieser benutzerdefinierten Parsing-Methode können Sie rohe Multipart-/Formulardaten in PHP verarbeiten, was besonders nützlich für Szenarien mit PUT-Anfragen ist.
Das obige ist der detaillierte Inhalt vonWie analysiere ich manuell Multipart-/Formulardatendaten für PUT-Anfragen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

12 Beste PHP -Chat -Skripte auf Codecanyon
