>  기사  >  백엔드 개발  >  PHP에서 cURL을 통해 파일을 업로드하는 방법은 무엇입니까?

PHP에서 cURL을 통해 파일을 업로드하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-07 13:42:03905검색

How to Upload Files via cURL in PHP?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.