개발자의 끄적끄적

[php/codeigniter] 코드이그나이터 aws s3 파일 다운로드 방법 / codeigniter aws s3 file download example 본문

개발/php

[php/codeigniter] 코드이그나이터 aws s3 파일 다운로드 방법 / codeigniter aws s3 file download example

효벨 2021. 5. 7. 02:00
728x90
반응형

[php/codeigniter] 코드이그나이터 aws s3 파일 다운로드 방법 /codeigniter aws s3 file download example

 

 

codeginiter 에서

 

aws s3 를 이용하여

 

파일을 업로드 하거나 다운로드 하는 경우가 있습니다.

 

그중에서

 

다운로드 하는 방법을 공유하고자 합니다.

 

function download_s3($file_name, $org_nm) {
    $client = new \Aws\S3\S3Client([
        'region'  => REGION_NAME,
        'version' => '2006-03-01',
        'signature_version' => 'v4',
        'credentials' => false
    ]);

    $client->registerStreamWrapper();

    $data = file_get_contents("s3://".BUCKET_NAME."/".$file_name);
    force_download($org_nm, $data);
}

 

위 함수를 보시면 아시겠지만,

 

REGION 과 버전 등등의 파라미터를 넣어서 S3Client 를 생성하고

 

registerStreamWrapper 를 등록합니다.

 

그리고는 file_get_contents 를 이용하여

 

s3://BUCKET_NAME/KEY

 

와같이 업로드했던 버킷명과 key 로 사용했던 파일명을 입력해서 $data 라는 변수에 저장합니다.

 

이렇게 저장된 파일정보를

 

force_download 를 이용하여 다운로드합니다!

 

여기서 $org_nm 은 업로드할때 받아서 저장했던

 

원본 파일명으로 파일을 다운로드 시키기 위해서 사용하는 변수입니다!

 

참고들 하세요!

 

 

반응형
Comments