在PHP 中透過cURL 上傳檔案
問題
問題從表單上上傳處理的表單POST文件在PHP 中並使用cURL 發送它們可能具有挑戰性。 HTML 表單使用 multipart/form-data 編碼,但 cURL 請求中上傳檔案的確切格式仍不清楚。
解決方案使用cURL 上傳檔案在PHP 中,請依照下列步驟操作:
<?php // Define the file to be uploaded $fileKey = 'image'; $tmpFile = $_FILES[$fileKey]['tmp_name']; $fileName = $_FILES[$fileKey]['name']; // Initialize cURL $ch = curl_init(); // Set cURL options curl_setopt_array($ch, [ CURLOPT_URL => 'https://your-api-endpoint.com', // Replace with your API endpoint CURLOPT_USERPWD => 'username:password', // Replace with your API credentials CURLOPT_UPLOAD => true, CURLOPT_INFILE => fopen($tmpFile, 'r'), // Open the file for reading CURLOPT_INFILESIZE => filesize($tmpFile), ]); **Sending the Request** // Execute the cURL request $response = curl_exec($ch); if (curl_errno($ch)) { echo 'Error sending file: ' . curl_error($ch); } else { // Handle the response echo 'File uploaded successfully.'; } // Close the cURL connection curl_close($ch); ?>
建立cURL 要求
<?php // Get the file data $file = fopen('php://input', 'rb'); // Save the file to a temporary location $tempFile = tempnam(sys_get_temp_dir(), 'file'); file_put_contents($tempFile, $file); // Do something with the file // ... // Clean up fclose($file); unlink($tempFile); ?>
以上是如何在 PHP 中透過 cURL 上傳檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!