Heim Backend-Entwicklung PHP-Tutorial Wie analysiere ich manuell Multipart-/Formulardatendaten für PUT-Anfragen in PHP?

Wie analysiere ich manuell Multipart-/Formulardatendaten für PUT-Anfragen in PHP?

Oct 29, 2024 am 11:32 AM

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

Manuelles 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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Iterieren über Blöcke

Durchlaufen Sie jeden Block und analysieren Sie seinen Inhalt:

<code class="php">foreach ($a_blocks as $id =&gt; $block)
{
    // Check if the block contains uploaded files
    if (strpos($block, 'application/octet-stream') !== FALSE)
    {
        // Extract file metadata using regex
        preg_match('/name=\&amp;quot;([^\&amp;quot;]*)\&amp;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=\&amp;quot;([^\&amp;quot;]*)\&amp;quot;[\n|\r]+([^\n\r].*)?\r$/s', $block, $matches);
    }
    $a_data[$matches[1]] = $matches[2];
}</code>
Nach dem Login kopieren

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!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

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

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Arbeiten mit Flash -Sitzungsdaten in Laravel

Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

Einführung in die Instagram -API

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

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 Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

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

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

12 Beste PHP -Chat -Skripte auf Codecanyon

Benachrichtigungen in Laravel Benachrichtigungen in Laravel Mar 04, 2025 am 09:22 AM

Benachrichtigungen in Laravel

See all articles