[php] PHP 라이브러리 S3 사용 예제

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 공식 문서를 참조하십시오.

참조