>  기사  >  백엔드 개발  >  PHP 양식 POST에서 cURL을 통해 파일을 보내는 방법은 무엇입니까?

PHP 양식 POST에서 cURL을 통해 파일을 보내는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-09 09:16:02670검색

How to Send a File via cURL from a PHP Form POST?

PHP의 Form POST에서 cURL을 통해 파일 보내기

양식 게시물에서 파일 업로드를 처리하는 것은 API 개발의 일반적인 작업입니다. 이 질문은 PHP 스크립트를 사용하여 cURL을 통해 파일을 보내는 방법을 탐구합니다.

HTML 양식에는 파일 업로드 입력 필드가 포함되어 있습니다.

<form action="script.php" method="post" enctype="multipart/form-data">
  <input type="file" name="image">
  <input type="submit" name="upload" value="Upload">
</form>

서버 측 PHP 스크립트(script.php )는 먼저 "업로드" 버튼이 클릭되었는지 확인합니다.

if (isset($_POST['upload'])) {
  // Handle file upload with cURL
}

cURL을 사용하여 파일을 보내려면 다음 매개변수를 설정해야 합니다.

  • CURLOPT_URL: URL 원격 파일 업로드 대상
  • CURLOPT_UPLOAD: 1(요청에 파일 업로드가 포함되어 있음을 나타냄)
  • CURLOPT_INFILE: 서버에 업로드된 임시 파일의 파일 포인터
  • CURLOPT_INFILESIZE : 파일 크기(바이트)

다음은 파일을 보내는 샘플 cURL 코드 조각입니다.

$localFile = $_FILES['image']['tmp_name']; 
$url = "https://example.com/file_upload.php";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => '@' . $localFile);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

수신 측에서는 스크립트가 파일 업로드를 처리하고 그에 따라 저장하십시오. 예는 다음과 같습니다.

$file = $_FILES['file'];
$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
move_uploaded_file($fileTmpName, '/path/to/uploads/' . $fileName);

위 내용은 PHP 양식 POST에서 cURL을 통해 파일을 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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