>  기사  >  백엔드 개발  >  임시 파일 없이 PHP에서 cURL을 사용하여 파일 문자열을 게시하는 방법은 무엇입니까?

임시 파일 없이 PHP에서 cURL을 사용하여 파일 문자열을 게시하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-17 18:30:02232검색

How to POST a File String Using cURL in PHP Without Temporary Files?

POST에서 cURL을 사용하여 파일 문자열 게시

파일이 문자열로만 표현되면 다른 양식 데이터와 함께 파일을 보내는 작업이 더욱 복잡해집니다. 이 튜토리얼에서는 PHP에서 cURL을 사용하여 요청을 구성하고 임시 파일 생성을 우회하는 방법을 보여줍니다.

해결책

브라우저에서 샘플 POST 요청을 분석하면 독특한 경계. 이 형식을 수동으로 복제하려면 다음 작업이 필요합니다.

  1. 양식 데이터 본문 만들기: 파일 필드와 파일이 아닌 필드를 분리하고 적절한 헤더와 구분 기호로 연결합니다. 예:
--boundary
Content-Disposition: form-data; name="otherfield"
Content-Type: text/plain

other field content
--boundary
Content-Disposition: form-data; name="filename"; filename="test.jpg"
Content-Type: image/jpeg

raw JPEG data
--boundary--
  1. cURL 옵션 설정: multipart/form-data를 사용하여 POST 요청을 처리하도록 cURL을 구성하고 콘텐츠 길이를 지정합니다.
<code class="php">$options = array(
    // Send post data over a POST request
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => array(
        // Content-type to multipart/form-data with boundary
        'Content-Type: multipart/form-data; boundary='.$delimiter,
        // Content-Length to the length of our multipart form data
        'Content-Length: ' . strlen($data)
    )
);</code>
  1. cURL 요청 실행: 컬_setopt를 사용하여 POST 필드를 설정하고 요청을 실행합니다.
<code class="php">curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);</code>

본문과 적절한 헤더를 설정하면 브라우저에서 POST 요청을 시뮬레이션하고 임시 파일 생성을 방지합니다.

위 내용은 임시 파일 없이 PHP에서 cURL을 사용하여 파일 문자열을 게시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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