https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_installation.html
위 경로에서 AWS SDK .zip 파일을 다운받고 WEBROOT(ex. var/www/html) 경로에 압축 풀어주기
AWS > IAM > 보안 자격 증명 > 액세스 키 만들기 경로로 들어와 엑세스 키를 만들어 key와 secret 값을 확보한다
그리고 Bucket > 권한 > 객체 소유권 편집을 통해 ACL을 활성화 한다.
<?php include_once('aws-autoloader.php'); // SDK 압축파일 풀어준 path 설정 use Aws\S3\S3Client; use Aws\Exception\AwsException; use Aws\Credentials\CredentialProvider; $s3Client = S3Client::factory( array( 'region' => 'ap-northeast-2(본인의 region)', // 본인의 region 'version' => 'latest', 'signature' => 'v4', 'credentials' => [ 'key' => 'sfsdafkhjshfsdfsjkfhsak', // AWS 콘솔에서 생성한 key 'secret' => 'sadfsdfoihsafiohefleajflkejeff+/fdsfjlkf' // AWS 콘솔에서 생성한 secret ] ) ); $file_handler = fopen('./img/bacgkround.png', 'r'); // 업로드 대상 파일 경로 $s3_path = 'test/bacgkround.png'; // s3에 저장할 경로 $s3Client->putObject( array( 'Bucket' => 'helloworld', // 본인 bucket 이름 'Key' => $s3_path, 'Body' => $file_handler, 'ACL' => 'public-read' // public으로 ACL을 열었을 경우 ) ); ?>
위 처럼 upload test 파일 생성해서 test 해보면 정상 업로드가 될 것 이다
댓글