[php] PHP 라이브러리 S3 파일 다운로드 시 자동 압축 해제

이 기술 블로그에서는 PHP 언어를 사용하여 AWS S3에서 파일을 다운로드하는 과정에서 자동으로 파일을 압축 해제하는 방법에 대해 알아보겠습니다.

S3에서 파일 다운로드하기

먼저, PHP에서 AWS SDK for PHP를 사용하여 S3에 접속하고 파일을 다운로드해야 합니다. 이를 위해서는 S3Client를 사용하여 S3에 연결하고, getObject 메서드를 사용하여 원하는 파일을 다운로드할 수 있습니다.

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

$s3 = new S3Client([
    'version' => 'latest',
    'region' => 'your-region',
    'credentials' => [
        'key' => 'your-key',
        'secret' => 'your-secret'
    ]
]);

try {
    $result = $s3->getObject([
        'Bucket' => 'your-bucket',
        'Key' => 'your-file.zip'
    ]);

    $fileContent = $result['Body']->getContents();
    // 여기서 파일을 저장하거나 처리합니다.
} catch (AwsException $e) {
    // 에러 처리
}

파일 압축 해제하기

파일을 다운로드한 후에 압축을 해제해야 합니다. PHP에서는 ZipArchive 클래스를 사용하여 압축 파일을 해제할 수 있습니다.

$zip = new ZipArchive;
$res = $zip->open('your-file.zip');
if ($res === TRUE) {
    $zip->extractTo('./your-directory');
    $zip->close();
    echo '압축이 성공적으로 해제되었습니다.';
} else {
    echo '압축 해제 실패';
}

AWS SDK for PHP 및 ZipArchive 클래스를 사용하여 S3에서 파일을 다운로드하고 자동으로 압축을 해제할 수 있습니다. 이를 응용하여 자동으로 파일 다운로드 및 압축 해제 프로세스를 구현할 수 있습니다.

참고 자료