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.
Die Analyse einer Beispiel-POST-Anfrage von einem Browser zeigt eine mehrteilige/Formulardatenstruktur mit a einzigartige Grenze. Die manuelle Replikation dieses Formats umfasst Folgendes:
--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--
<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>
<code class="php">curl_setopt($handle, CURLOPT_POSTFIELDS, $data); curl_exec($handle);</code>
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!