Heim  >  Artikel  >  Backend-Entwicklung  >  So posten Sie einen Dateistring mit cURL in PHP: Eine Schritt-für-Schritt-Anleitung

So posten Sie einen Dateistring mit cURL in PHP: Eine Schritt-für-Schritt-Anleitung

Susan Sarandon
Susan SarandonOriginal
2024-10-17 18:36:02717Durchsuche

How to POST a File String with cURL in PHP: A Step-by-Step Guide

POSTEN einer Dateizeichenfolge mit cURL in PHP

In der Webentwicklung ist die Übertragung von Dateien zusammen mit Formulardaten eine häufige Anforderung. Während cURL eine unkomplizierte Methode zum POST von Dateien aus dem Dateisystem bietet, wird in diesem Artikel eine Technik untersucht, mit der eine Datei direkt als String gepostet werden kann, ohne dass eine temporäre Datei erstellt werden muss.

Erstellen der POST-Daten

Der Schlüssel liegt in der manuellen Erstellung des Multipart-/Formulardaten-Anfragetexts. Beginnen Sie damit, Formularfelder von Datei-Uploads zu trennen. Erstellen Sie für jedes Nicht-Dateifeld einen Formulardatenabschnitt mit dem Feldnamen und -wert.

Erstellen Sie als Nächstes für jede hochzuladende Datei einen Formulardatenabschnitt mit dem Dateinamen, dem MIME-Typ usw tatsächlicher Dateiinhalt.

Header festlegen

Um einen browserähnlichen POST zu simulieren, legen Sie die entsprechenden Header fest:

<code class="php">'Content-Type: multipart/form-data; boundary=' . $delimiter
'Content-Length: ' . strlen($data)</code>

wobei $delimiter eine eindeutige Zeichenfolge ist, die die einzelnen Header trennt Abschnitt der Formulardaten.

Anfrage stellen

<code class="php">$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_HTTPHEADER , array(
    'Content-Type: multipart/form-data; boundary=' . $delimiter,
    'Content-Length: ' . strlen($data)));  
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);</code>

Durch die Erstellung des mehrteiligen/Formulardatenkörpers und das Festlegen der erforderlichen Header kann cURL eine als Zeichenfolge dargestellte Datei nahtlos POSTEN. Bietet einen flexibleren und effizienteren Ansatz im Vergleich zur Arbeit mit physischen Dateien.

Das obige ist der detaillierte Inhalt vonSo posten Sie einen Dateistring mit cURL in PHP: Eine Schritt-für-Schritt-Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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