Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk MENYATAKAN Rentetan Fail Menggunakan cURL dalam PHP Tanpa Fail Sementara?

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

Susan Sarandon
Susan Sarandonasal
2024-10-17 18:30:02232semak imbas

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--
  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>
  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>

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!

Kenyataan:
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