Wie poste ich eine Dateizeichenfolge mit cURL in PHP ohne temporäre Dateien?

Susan Sarandon
Freigeben: 2024-10-17 18:30:02
Original
230 Leute haben es durchsucht

How to POST a File String Using cURL in PHP Without Temporary Files?

POSTEN einer Dateizeichenfolge mit cURL in PHP

Die Aufgabe, eine Datei zusammen mit anderen Formulardaten zu senden, wird komplizierter, wenn die Datei ausschließlich als Zeichenfolge dargestellt wird. Dieses Tutorial zeigt, wie Sie cURL in PHP verwenden, um die Anfrage zu erstellen und die Erstellung temporärer Dateien zu umgehen.

Lösung

Die Analyse einer Beispiel-POST-Anfrage von einem Browser zeigt eine mehrteilige/Formulardatenstruktur mit a einzigartige Grenze. Die manuelle Replikation dieses Formats umfasst Folgendes:

  1. Erstellen eines Formulardatenkörpers: Trennen Sie die Datei- und Nichtdateifelder und verketten Sie sie mit geeigneten Kopfzeilen und Trennzeichen. Beispiel:
--boundary
Content-Disposition: form-data; name="otherfield"
Content-Type: text/plain

other field content
--boundary
Content-Disposition: form-data; name="filename"; filename="test.jpg"
Content-Type: image/jpeg

raw JPEG data
--boundary--
Nach dem Login kopieren
  1. cURL-Optionen festlegen: Konfigurieren Sie cURL für die Verarbeitung der POST-Anfrage mit Multipart-/Formulardaten und geben Sie die Inhaltslänge an.
<code class="php">$options = array(
    // Send post data over a POST request
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => array(
        // Content-type to multipart/form-data with boundary
        'Content-Type: multipart/form-data; boundary='.$delimiter,
        // Content-Length to the length of our multipart form data
        'Content-Length: ' . strlen($data)
    )
);</code>
Nach dem Login kopieren
  1. cURL-Anfrage ausführen: Verwenden Sie curl_setopt, um die POST-Felder festzulegen und die Anfrage auszuführen.
<code class="php">curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);</code>
Nach dem Login kopieren

Durch die Erstellung des Körpers und Durch die Festlegung geeigneter Header simulieren wir eine POST-Anfrage von einem Browser und vermeiden die Erstellung temporärer Dateien.

Das obige ist der detaillierte Inhalt vonWie poste ich eine Dateizeichenfolge mit cURL in PHP ohne temporäre Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!