從表單 POST 上傳 PHP Curl 檔案
使用 POST 表單上傳檔案可能具有挑戰性,尤其是在伺服器端使用 cURL 時。要解決這個問題,請考慮以下方法:
伺服器端cURL 實作
要處理檔案上傳並透過cURL 發送它們,您可以利用PHP 的$_FILES 超全局,它提供有關上傳文件的資訊。以下是示範流程的程式碼片段:
if (isset($_POST['upload'])) { $fileKey = 'image'; // Assuming your file input has 'image' as its name // Retrieve file information $tmpFile = $_FILES[$fileKey]['tmp_name']; $fileName = $_FILES[$fileKey]['name']; // Prepare cURL parameters $postFields = ['file' => '@' . $tmpFile, /* Other post parameters if needed */]; $url = 'https://example.com/curl_receiver.php'; // URL to send the file to // Initialize and configure cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Execute cURL request $result = curl_exec($ch); // Handle cURL response if (curl_errno($ch)) { // Handle error } else { // Success, do further processing with $result } // Close cURL connection curl_close($ch); }
接收腳本 (curl_receiver.php)
<?php // Handle incoming POST data if (!empty($_FILES)) { // Retrieve file information $tmpFile = $_FILES['file']['tmp_name']; $fileName = $_FILES['file']['name']; // Process and save the uploaded file // ... // Send response to the client echo json_encode(['status' => 'success']); } else { // Handle error, no file uploaded echo json_encode(['status' => 'error', 'message' => 'No file uploaded']); } ?>
以上是如何使用 PHP cURL 從表單 POST 上傳檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!