현재 위치: > 최신 기사 목록> curl_init, 슈퍼 실용적인 예를 사용하여 로컬로 파일을 다운로드하고 저장하는 완전한 방법

curl_init, 슈퍼 실용적인 예를 사용하여 로컬로 파일을 다운로드하고 저장하는 완전한 방법

gitbox 2025-06-15

PHP에서 Curl은 다양한 HTTP 요청을 처리 할 수있는 매우 강력하고 일반적으로 사용되는 도구입니다. curl_init () 함수를 사용하여 파일을 쉽게 다운로드하여 로컬로 저장할 수 있습니다. 오늘 우리는 curl_init를 사용하여 파일을 다운로드하고 프로세스를 더 잘 이해하는 데 도움이되는 매우 실용적인 예를 제공하는 방법을 자세히 소개합니다.

1 단계 : 컬 세션 초기화

먼저 CURL 핸들을 반환하는 컬 세션을 초기화하려면 curl_init ()를 사용해야합니다. 이 핸들은 후속 컬 작업에 사용됩니다.

 $ch = curl_init();

2 단계 : 컬 옵션을 설정합니다

세션을 성공적으로 초기화 한 후에는 Curl_SetOpt ()를 사용하여 다양한 옵션을 설정해야합니다. 가장 중요한 옵션은 다음과 같습니다.

  • Curlopt_url : 다운로드 파일의 URL 주소를 설정합니다.

  • curlopt_returntransfer : 리턴 값을 설정하십시오. 파일 내용을 로컬에서 저장하려고하므로 True 로 설정해야합니다.

  • curlopt_folloglocation : 컬이 자동으로 리디렉션을 따를 수 있습니다.

  • Curlopt_Timeout : 요청 중지를 피하기 위해 최대 실행 시간을 설정합니다.

다운로드하려는 파일의 URL이 https://gitbox.net/somefile.zip 이라고 가정하면 다음 옵션을 설정하는 예입니다.

 $url = "https://gitbox.net/somefile.zip";
$destination = "somefile.zip";  // 로컬 저장 경로

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);  // 요청 시간 초과를 설정하십시오 30 두번째

3 단계 : 컬 요청을 실행하고 파일 내용을 가져옵니다.

CURL 옵션을 설정 한 후 Curl_Exec ()를 사용하여 요청을 실행할 수 있습니다. 이 기능은 서버의 응답 내용, 즉 파일의 내용을 반환합니다. 이 콘텐츠를 로컬 파일에 저장합니다.

 $file_content = curl_exec($ch);

if(curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    // 다운로드 된 파일 콘텐츠를 로컬로 저장하십시오
    file_put_contents($destination, $file_content);
}

4 단계 : 컬 세션을 닫습니다

작업이 완료되면 Curl_Close ()를 사용하여 현재 컬 세션을 닫고 리소스를 해제해야합니다.

 curl_close($ch);

완전한 코드 예제

위의 단계를 함께 통합하여 Curl을 통해 파일을 다운로드하고 로컬로 저장하기위한 다음 전체 PHP 스크립트를 얻습니다.

 <?php
// 초기화 cURL 세션
$ch = curl_init();

// 다운로드 파일을 설정하십시오 URL 和로컬 저장 경로
$url = "https://gitbox.net/somefile.zip";
$destination = "somefile.zip";

// 구성 cURL 옵션
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);  // 시간 초과 요청 30 두번째

// 구현하다 cURL 파일 컨텐츠를 요청하고받습니다
$file_content = curl_exec($ch);

// 오류 처리
if(curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    // 로컬로 파일을 저장하십시오
    file_put_contents($destination, $file_content);
}

// 폐쇄 cURL 세션
curl_close($ch);

echo "파일 다운로드가 성공적으로 다운로드하십시오,저장 " . $destination;
?>

코드 해석

  1. 초기화 및 구성 : 먼저 curl_init ()를 사용하여 컬 세션을 초기화하고 다운로드 URL을 설정하고 경로를 저장합니다. curl_setopt ()는 파일 URL, 반환 된 컨텐츠를 처리하는 방법 및 리디렉션이 허용되는지를 포함하여 몇 가지 중요한 옵션을 설정합니다.

  2. 요청 : curl_exec ()를 사용하여 요청을 실행하고 파일 내용을 가져옵니다. 다운로드가 성공하면 파일 콘텐츠는 $ file_content 변수에 저장됩니다.

  3. 오류 처리 : CURL 요청에서 오류가 발생하면 Curl_errno ()를 통해 오류 정보를 얻고 Curl_error () 를 통해 오류 세부 정보를 출력 할 수 있습니다.

  4. 파일 저장 : 다운로드 된 파일 컨텐츠를 file_put_contents ()를 통해 로컬 지정된 경로에 저장하십시오.

  5. 닫기 세션 : 마지막으로 Curl_Close ()를 사용하여 컬 세션을 닫습니다.

요약

위의 것은 curl_init ()를 사용하여 파일을 다운로드하고 로컬로 저장하는 완전한 방법입니다. 간단한 파일 다운로드 또는 복잡한 HTTP 요청을 처리하든 Curl은 매우 실용적인 도구입니다. CURL 옵션을 조정하면 로그인 조롱, 게시물 요청 보내기, 쿠키 처리 등과 같은보다 복잡한 요구 사항을 달성 할 수 있습니다.

이 예제가 도움이되기를 바랍니다. PHP 프로그래밍에서 더 좋고 더 나은 것을 기원합니다!