S3 라이브러리 사용하여 PHP에서 Amazon S3에 파일 업로드
소개
Amazon S3 (Simple Storage Service)는 클라우드 기반의 객체 스토리지 서비스로, 파일 및 미디어 저장 및 관리에 사용됩니다. 이 블로그 포스트에서는 PHP에서 Amazon S3를 사용하여 파일을 업로드하는 방법에 대해 설명하겠습니다.
S3 PHP 라이브러리 설치
PHP에서 AWS SDK for PHP를 사용하여 S3를 조작할 수 있습니다. 먼저 Composer를 사용하여 AWS SDK for PHP를 설치합니다.
composer require aws/aws-sdk-php
S3 클라이언트 생성
다음으로, S3 클라이언트를 생성하여 S3 서비스와 상호 작용할 수 있습니다. S3 클라이언트를 생성하려면 AWS 계정 자격 증명이 필요합니다. 예를 들어, 환경 변수나 AWS 자격 증명 파일을 사용하여 S3 클라이언트를 초기화할 수 있습니다.
require 'vendor/autoload.php';
use Aws\S3\S3Client;
$bucket = 'your-bucket-name';
$s3 = new S3Client([
'version' => 'latest',
'region' => 'us-west-2',
'credentials' => [
'key' => 'your-access-key-id',
'secret' => 'your-secret-access-key',
],
]);
파일 업로드
이제 S3 클라이언트를 사용하여 파일을 업로드할 수 있습니다.
$file_path = '/path/to/your/file.jpg';
$key = 'uploads/file.jpg';
$result = $s3->putObject([
'Bucket' => $bucket,
'Key' => $key,
'Body' => fopen($file_path, 'rb'),
'ACL' => 'public-read',
]);
위 코드에서 putObject
메서드는 S3 버킷에 새 객체를 업로드합니다. Bucket
은 파일을 업로드할 버킷의 이름이고, Key
는 업로드 할 객체의 키입니다. Body
는 업로드할 파일의 본문이며, ACL
은 파일에 대한 액세스 권한을 설정합니다. 이 예제에서는 public-read
ACL을 통해 업로드 된 파일을 공개 읽기 권한으로 설정합니다.
결론
이제 PHP에서 AWS SDK를 사용하여 Amazon S3에 파일을 업로드하는 방법에 대해 알아보았습니다. 이를 통해 PHP 애플리케이션에서 간단히 클라우드 스토리지 서비스를 활용할 수 있습니다. 더 많은 S3 작업을 수행하려면 AWS SDK for PHP 공식 문서를 참조하십시오.