[php] PHP 라이브러리 S3 파일 업로드 시 용량 제한 설정

서버에서 AWS S3로 파일을 업로드하는 경우, 파일 크기에 제한을 두어야 할 수 있습니다. PHP에서는 AWS SDK를 사용하여 S3에 파일을 업로드할 수 있습니다. 이 기능을 사용할 때 파일 크기 제한을 설정하는 방법에 대해 알아보겠습니다.

AWS SDK for PHP 설치

AWS SDK for PHP를 사용하여 S3에 파일을 업로드하려면 먼저 SDK를 설치해야 합니다. Composer를 사용하여 SDK를 설치할 수 있습니다. Composer가 설치되어 있지 않은 경우, 먼저 Composer를 설치해 주세요.

composer require aws/aws-sdk-php

파일 업로드 및 용량 제한 설정

require 'vendor/autoload.php';

use Aws\S3\S3Client;
use Aws\Exception\AwsException;

// AWS 자격 증명 및 리전 설정
$sharedConfig = [
    'region'  => 'us-west-2',
    'version' => 'latest',
    'credentials' => [
        'key'    => 'YOUR_AWS_ACCESS_KEY_ID',
        'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
     ],
 ];

$s3 = new S3Client($sharedConfig);

// 파일 업로드
try {
    $result = $s3->putObject([
        'Bucket' => 'your-bucket',
        'Key'    => 'your-object-key',
        'Body'   => fopen('path/to/your/file', 'r'),
    ]);
    echo "업로드 완료\n";
} catch (S3Exception $e) {
    echo $e->getMessage() . "\n";
}

// 파일 크기 제한 설정 (예: 10MB)
$s3->putBucketAcl([
    'Bucket' => 'your-bucket',
    'ACL'    => 'public-read',
    'ContentLengthRange' => ['Min' => 0, 'Max' => 10485760] // 10MB
]);

위 코드에서 ‘ContentLengthRange’를 사용하여 파일 크기 제한을 설정했습니다. 예제에서는 10MB로 설정되어 있지만, 필요에 따라 적절한 값으로 변경할 수 있습니다.

결론

PHP를 사용하여 AWS S3에 파일을 업로드하고 파일 크기 제한을 설정하는 방법에 대해 알아보았습니다. 이를 통해 서버 측에서 파일 크기를 제어하고 원하는 제한을 적용할 수 있습니다. AWS SDK for PHP를 사용하면 간편하게 S3와 상호 작용할 수 있으며, 파일 크기 제한 설정을 통해 안전하고 효율적으로 파일을 관리할 수 있습니다.

참고 자료