메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

PHP용 AWS SDK를 사용하여 객체 가져오기

이 단원에서는 PHP용 AWS SDK의 클래스를 사용하여 객체를 검색하는 방법을 설명합니다. 전체 객체를 검색하거나 객체에서 특정 범위를 지정하여 검색할 수도 있습니다.

참고

이미 PHP용 AWS SDK 사용 및 PHP 예제 실행의 지침에 따라 PHP용 AWS SDK가 올바르게 설치되어 있다고 가정합니다.

객체 다운로드

1

Aws\S3\S3Client 클래스의 factory() 메서드를 사용하여 Amazon S3 클라이언트의 인스턴스를 만듭니다.

2

Aws\S3\S3Client::getObject() 메서드를 실행합니다. array 파라미터의 필수 키인 BucketKey에 버킷 이름과 키 이름을 제공해야 합니다.

전체 객체를 검색하는 대신, 객체 데이터에서 바이트 범위를 지정하여 검색할 수도 있습니다. 필수 키 외, 어레이 파라미터의 Range 키를 지정하여 범위 값을 제공합니다.

BucketKey의 필수 키 외, 파일을 저장할 위치로 어레이 파라미터의 SaveAs에 파일 경로를 지정하여 Amazon S3에서 검색한 객체를 로컬 파일 시스템의 파일로 저장할 수 있습니다.

다음은 위에서 설명한 객체 다운로드 작업을 실행하는 PHP 코드 예제입니다.

Copy
use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; $filepath = '*** Your File Path ***'; // Instantiate the client. $s3 = S3Client::factory(); // Get an object. $result = $s3->getObject(array( 'Bucket' => $bucket, 'Key' => $keyname )); // Get a range of bytes from an object. $result = $s3->getObject(array( 'Bucket' => $bucket, 'Key' => $keyname, 'Range' => 'bytes=0-99' )); // Save object to a file. $result = $s3->getObject(array( 'Bucket' => $bucket, 'Key' => $keyname, 'SaveAs' => $filepath ));

다음 PHP 코드 예제에서와 같이 getObject() 메서드에 어레이 파라미터의 응답 키인 ResponseContentType, ResponseContentLanguage, ResponseContentDisposition, ResponseCacheControlResponseExpires를 추가하여 필요할 경우 객체를 검색할 때 응답 헤더 값을 무시할 수 있습니다(객체 가져오기 참조).

Copy
$result = $s3->getObject(array( 'Bucket' => $bucket, 'Key' => $keyname, 'ResponseContentType' => 'text/plain', 'ResponseContentLanguage' => 'en-US', 'ResponseContentDisposition' => 'attachment; filename=testing.txt', 'ResponseCacheControl' => 'No-cache', 'ResponseExpires' => gmdate(DATE_RFC2822, time() + 3600), ));

예 PHP를 사용하여 객체 다운로드

다음 PHP 코드 예제는 객체를 검색한 후 브라우저에 객체 콘텐츠를 표시합니다. 이 예제는 getObject() 메서드의 사용 방법을 보여줍니다. 이 가이드의 PHP 예제 실행에 대한 자세한 내용은 PHP 예제 실행 단원을 참조하십시오.

Copy
<?php // Include the AWS SDK using the Composer autoloader. require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\S3\Exception\S3Exception; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; // Instantiate the client. $s3 = S3Client::factory(); try { // Get the object $result = $s3->getObject(array( 'Bucket' => $bucket, 'Key' => $keyname )); // Display the object in the browser header("Content-Type: {$result['ContentType']}"); echo $result['Body']; } catch (S3Exception $e) { echo $e->getMessage() . "\n"; }

관련 리소스

이 페이지에서: