Soalan ini berkaitan dengan pengendalian muat naik fail daripada permintaan POST borang melalui cURL. Penanda untuk borang adalah mudah:
<form action="" method="post" enctype="multipart/form-data"> <input type="file" name="image">
Untuk mengendalikan muat naik fail di bahagian pelayan, anda perlu menggunakan pembolehubah global $_FILES PHP. Pembolehubah ini akan mengandungi pelbagai maklumat tentang fail yang dimuat naik, termasuk nama fail sementara dan nama fail asalnya.
Coretan kod berikut menunjukkan cara menggunakan $_FILES untuk mendapatkan maklumat tentang imej yang dimuat naik:
if (isset($_POST['upload'])) { $tmpFileName = $_FILES['image']['tmp_name']; $originalFileName = $_FILES['image']['name']; }
Untuk menghantar fail melalui cURL, anda perlu menentukan pilihan CURLOPT_INFILE dan menetapkannya kepada nama fail sementara. Anda juga perlu menetapkan pilihan CURLOPT_UPLOAD kepada 1. Contohnya:
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "http://example.com/upload.php"); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_INFILE, $tmpFileName); curl_setopt($curl, CURLOPT_UPLOAD, 1); $curlResult = curl_exec($curl); curl_close($curl);
Pada pelayan penerima, anda boleh menggunakan kod berikut untuk menerima fail yang dimuat naik:
<?php // Get the file from the request $file = file_get_contents('php://input'); // Save the file to a temporary location $tmpFileName = tempnam(sys_get_temp_dir(), 'phpexec'); file_put_contents($tmpFileName, $file); // You can now process the file as needed // Delete the temporary file unlink($tmpFileName); ?>
Atas ialah kandungan terperinci Bagaimana untuk Muat Naik Fail Menggunakan cURL dari POST Borang HTML dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!