Bagaimana untuk MENYATAKAN Rentetan Fail Menggunakan cURL dalam PHP Tanpa Fail Sementara?

Susan Sarandon
Lepaskan: 2024-10-17 18:30:02
asal
310 orang telah melayarinya

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

Menyiarkan Rentetan Fail Menggunakan cURL dalam PHP

Tugas menghantar fail bersama-sama data borang lain menjadi lebih rumit apabila fail diwakili semata-mata sebagai rentetan. Tutorial ini menunjukkan cara menggunakan cURL dalam PHP untuk membina permintaan dan memintas penciptaan fail sementara.

Penyelesaian

Menganalisis permintaan POST sampel daripada penyemak imbas mendedahkan struktur data berbilang bahagian/bentuk dengan sempadan unik. Meniru format ini secara manual melibatkan:

  1. Mencipta Badan Data Borang: Asingkan medan fail dan bukan fail dan gabungkannya dengan pengepala dan pembatas yang sesuai. Contoh:
--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--
Salin selepas log masuk
  1. Menetapkan Pilihan cURL: Konfigurasikan cURL untuk mengendalikan permintaan POST dengan data berbilang bahagian/bentuk dan nyatakan panjang kandungan.
<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>
Salin selepas log masuk
  1. Laksanakan Permintaan cURL: Gunakan curl_setopt untuk menetapkan medan POST dan laksanakan permintaan.
<code class="php">curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);</code>
Salin selepas log masuk

Dengan membentuk badan dan menetapkan pengepala yang sesuai, kami mensimulasikan permintaan POST daripada penyemak imbas dan mengelak daripada membuat fail sementara.

Atas ialah kandungan terperinci Bagaimana untuk MENYATAKAN Rentetan Fail Menggunakan cURL dalam PHP Tanpa Fail Sementara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan