쪼렙 as! 풀스택

S3 - SDK(PHP) 로 사용하기 #2 - Object 업로드하기, 삭제하기. 본문

개발 일지/AWS

S3 - SDK(PHP) 로 사용하기 #2 - Object 업로드하기, 삭제하기.

코코앱 2017. 5. 31. 18:10


준비물1 - 앞서 언급한 사용자의 AccessKey 와 시크릿 키가 필요합니다.

준비물2 - PHP용 SDK (http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
 
require '/<path>/aws/aws-autoloader.php';
 
use Aws\S3\S3Client;
use Aws\Common\Exception\MultipartUploadException;
use Aws\S3\Model\MultipartUpload\UploadBuilder;
 
define('S3_KEY''ABCDEFGHIFJKLMNOPQ');        //발급받은 키.
define('S3_SEC''xx/xxxxxxxxxxxxxxxxxxx');    //발그받은 비밀번호.
define('S3_REGION''ap-northeast-2');        //S3 버킷의 리전.
define('S3_BUCKET''xxx.xxx.com');            //버킷의 이름.
 
 
/**
    S3에 오브젝트 업로드.
    //$target : 버킷에 업로드될 패스+파일 이름.    //$source : 업로드할 원본 파일.
*/
 
function s3UploadObject($target$source) {        
    $config = array(
        'credentials' => array('key' => S3_KEY,'secret' => S3_SEC),
        'region' => S3_REGION,
        'version' => 'latest');
 
    $client = S3Client::factory($config);
    
    $result = $client->putObject(array(
            'Bucket'     => S3_BUCKET,
            'SourceFile' => $source,
            'Key'        => $target
    ));
 
    var_dump($result);
}
 
 
/**
    S3에서 오브젝트 삭제.
    //$objectName : 삭제할 오브젝트의 패스.
*/
function s3DeleteObject($objectName){        
    $config = array(
        'credentials' => array('key' => S3_KEY,'secret' => S3_SEC),
        'region' => S3_REGION,
        'version' => 'latest');
    $client = S3Client::factory($config);
    
    $obj = array('Bucket' => S3_BUCKET, 'Key' => $objectName);
    $result = $s3Client->deleteObject($obj);
 
    var_dump($result);
}
?>
cs





업로드나 삭제후 넘어오는 $result 에 따라서 핸들링 해주면 되겠습니다.






Comments