Heim > Artikel > Backend-Entwicklung > So posten Sie einen Dateistring mit cURL in PHP: Eine Schritt-für-Schritt-Anleitung
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.
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.
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.
<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!