PHP에서 cURL을 통해 파일 업로드
문제
POST 양식에서 파일 업로드 처리 PHP에서 cURL을 사용하여 전송하는 것은 어려울 수 있습니다. HTML 양식은 다중 부분/양식 데이터 인코딩을 사용하지만 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); ?>
이 단계를 사용하면 cURL을 사용하여 PHP의 POST 양식에서 파일을 성공적으로 업로드할 수 있습니다.
위 내용은 PHP에서 cURL을 통해 파일을 업로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!