[php] PHP에서 ZIP 파일을 AWS S3로 업로드하기

AWS S3는 클라우드 저장공간을 제공하는 아마존의 서비스로, PHP를 사용하여 ZIP 파일을 AWS S3로 업로드하는 것은 매우 흔한 작업입니다. 이를 수행하기 위해서는 AWS SDK를 사용하여 S3 클라이언트를 초기화하고 파일을 업로드해야 합니다.

단계 1: AWS SDK 설치

먼저 Composer를 사용하여 AWS SDK를 설치합니다.

$ composer require aws/aws-sdk-php

단계 2: AWS 자격증명 구성

AWS S3에 업로드하기 위해서는 AWS 자격증명이 필요합니다. 아래와 같이 자격증명 정보를 환경 변수로 설정합니다.

putenv('AWS_ACCESS_KEY_ID=your-access-key');
putenv('AWS_SECRET_ACCESS_KEY=your-secret-key');
putenv('AWS_DEFAULT_REGION=your-region');

단계 3: ZIP 파일 업로드

require 'vendor/autoload.php';

use Aws\S3\S3Client;

// S3 클라이언트 초기화
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => getenv('AWS_DEFAULT_REGION'),
]);

// ZIP 파일 업로드
$bucket = 'your-bucket-name';
$key = 'path/to/your/file.zip';
$pathToFile = '/path/to/local/zip/file.zip';

try {
    $result = $s3->putObject([
        'Bucket' => $bucket,
        'Key'    => $key,
        'Body'   => fopen($pathToFile, 'rb'),
    ]);
    echo "파일이 성공적으로 업로드되었습니다.";
} catch (S3Exception $e) {
    echo "파일 업로드 중 오류가 발생했습니다: " . $e->getMessage();
}

위 코드에서, your-access-key, your-secret-key, your-region, your-bucket-name, path/to/your/file.zip, /path/to/local/zip/file.zip를 실제 값으로 대체해야 합니다.

이제 PHP를 사용하여 ZIP 파일을 AWS S3로 업로드할 수 있게 되었습니다!

참고 자료