當文件僅表示為字串時,將文件與其他表單資料一起發送的任務變得更加複雜。本教學課程示範如何在 PHP 中使用 cURL 建置請求並繞過臨時檔案建立。
分析來自瀏覽器的範例 POST 請求,揭示了一個 multipart/form-data 結構,其中包含獨特的邊界。手動複製此格式涉及:
--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>
透過製作body和設定適當的標頭,我們模擬來自瀏覽器的 POST 請求並避免建立臨時檔案。
以上是如何在沒有臨時檔案的情況下在 PHP 中使用 cURL 發布檔案字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!