在 PHP 中通过 cURL 上传文件
问题
处理从表单 POST 上传的文件在 PHP 中并使用 cURL 发送它们可能具有挑战性。 HTML 表单使用 multipart/form-data 编码,但 cURL 请求中上传文件的确切格式仍不清楚。
解决方案
使用 cURL 上传文件在 PHP 中,请按照以下步骤操作:
创建 cURL请求
<?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_receiver.php),可以使用以下代码:
<?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 成功从表单 POST 上传文件卷曲。
以上是如何在 PHP 中通过 cURL 上传文件?的详细内容。更多信息请关注PHP中文网其他相关文章!