본문 바로가기
웹 개발 이야기/php

[PHP] AWS S3 Bucket의 파일 삭제

by Gommin 2023. 3. 16.

* 현 예제는 그누보드에서 작성하였다.
* 파일 업로드 자료부터 참고

aws.zip
3.79MB

 

$cf =array();
$cf['AWS_KEY'] = '액세스 키 ID';
$cf['AWS_SECRET'] = '비밀 액세스 키';
$cf['aws_bucket'] = '버킷명;
$cf['s3Client'] = [
    'version' => 'latest',
    'region'  => 'AWS 리전(ex: ap-northeast-2)',
    'credentials' => array(
        'key' => $cf['AWS_KEY'],
        'secret'  => $cf['AWS_SECRET'],
    )
];

// 다운로드한 SDK 파일의 autoloader를 불러옵니다.
include_once(G5_PATH.'/aws/aws-autoloader.php');

// AWS S3에 파일 업로드할 때 필요한 클래스들을 불러옵니다.
use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;
use Aws\Credentials\CredentialProvider;

$s3Client = new Aws\S3\S3Client($cf['s3Client']);



// DB에 저장된 파일명 가져오기
$sql = "select * from g5_lecture where idx = '{$idx}'";
$lec = sql_fetch($sql);

$file_name = $lec['l_filename_edu'];
$s3_path = "media/lecture/edufile/" . $file_name; // 업로드할 위치와 파일명 입니다.

$config = array(
  'credentials' => array('key' => $cf['AWS_KEY'],'secret' => $cf['AWS_SECRET']),
  'region' => 'ap-northeast-2',
  'version' => 'latest');
$client = S3Client::factory($config);

$obj = array('Bucket' => $cf['aws_bucket'], 'Key' => $s3_path);
$result = $s3Client->deleteObject($obj);

// 결과값
var_dump($result);

 

댓글