[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로 업로드할 수 있게 되었습니다!