카테고리 없음

s3 php sdk로 파일을 업로드 해보자.

zxxcvbnnm 2018. 5. 11. 17:16

해보자.


1. s3 업로드 방법은 여러가지가 있다.

저번에 작성한 글 처럼 직접 마운트해서 사용하거나, 아니면!

aws rest api를 사용하거나! 아니면!

aws sdk를 사용하여 업로드를 할 수 있다! 


2.이번에는 php sdk로 파일을 업로드 해보겠다. 

 aws sdk를 설치해야 한다.

아래 문서를 참조하면 된다.. 

https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_installation.html


설치할 수 있는 방법은 세 가지가 있는 데,

그 중에서 Composer를 이용하는 방법을 사용해보기로 함..


그냥 다음 명령어를 순서대로 실행한 후 

curl -sS https://getcomposer.org/installer | php 
php composer.phar require aws/aws-sdk-php  

스크립트 상단에 다음과 같이 작성해주기만 하면 된다고 한다.
<?php require 'vendor/autoload.php'; ?>

2. php 코드 작성을 한다.

<?php

include_once('vendor/autoload.php');

use Aws\S3\S3Client;

use Aws\S3\Exception\S3Exception;


$s3Client = S3Client::factory(array(

'region' => 'ap-northeast-2',

'version' => 'latest',

'signature' => 'v4',

'key'    => 's3_access_key',

'secret' => 's3_secret_key'

));


$file_handler = fopen('오픈할 파일명을 적어줍니다.', 'r');


$s3Client->putObject(array(

'Bucket' => '업로드할 버킷 이름을 적어줍니다.',

'Key'    => 's3에서 사용할 키 이름을 적어줍니다.',

'Body'   => $file_handler,

'ACL'    => 'private'

));

?>


3. 실행시키면 파일이 업로드 된 것을 확인할 수 있다.


php외의 다른 언어들도 aws sdk를 제공한다. 공식문서가 잘 되어 있으니 따라 한다면 어렵지 않게 업로드를 할 수 있다.

끝~!