PHP 2020. 6. 16. 18:08


AWS S3 연결에 필요한 소스 코드를 확장 시켜 줘야 합니다.

composer require league/flysystem-aws-s3-v3

아래와 같이 결과가 수행됩니다.

2.s3 버짓 설정

버킷 생성시에는 이름 및 지역, 옵션 구성, 권한 설정, 검토의 순서로 진행되는데 다른 부분은 넘어가고 3 권한 설정에서 모든 퍼블릭 엑세스 차단을 해제해 주세요.

3.AWS 의 IAM 키생성

콘솔에 들어가서 s3를 사용할수 있는 엑세스키 생성

4.연동

 .env 파일에 다음 값들을 추가해주세요.

AWS_ACCESS_KEY_ID=AGXAVIK5EY6TCTTS3I4L				                //IAM ACCESS KEY
AWS_SECRET_ACCESS_KEY=Awa8X1/038B6AXe1/EiDBzE9haIyfwGECgHXzABe	    //IAM SECRET KEY
AWS_DEFAULT_REGION=ap-northeast-2		                         	//REGION CODE (링크 참조)
AWS_BUCKET=test-s3-buket               			                    //버킷 명

한국(서울)의 리전 코드값은, ap-northeast-2 입니다.

 

5.저장코드

$fileSize = $request::file($uploadName) Illuminate\Support\Facades\Request 를 이용하며, 파일의 정보를 가져옵니다.

getClientSize() = 파일 용량 반환를 반환합니다.

getClientOriginalName = 파일 명 반환를 반환합니다.

getClientOriginalExtension = 파일 확장자를 반환합니다.

Storage::disk('s3')->put(...) 는 파일을 직접 업로드 합니다.

 

IAM설정,S3권한설정은 다양합니다. 비교적 간단하게 설정하였고 명령어는 많다.

 

-복사, 삭제, 이동, 이름변경
   
Storage::disk('s3')->put('tmp/'.$file, file_get_contents($file) );//추가
Storage::disk('s3')->delete('tmp/' . $file);//삭제
Storage::disk('s3')->files('tmp');//리스트
Storage::disk('s3')->get($file);//내용
Storage::disk('s3')->url($file);//인터넷 주소

Storage::size('file1.jpg');//크기 조회

Storage::copy('old/file1.jpg', 'new/file1.jpg');//복사
Storage::move('old/file1.jpg', 'new/file1.jpg');//이동

Storage::files($directory);//파일 목록
Storage::allFiles($directory);//하위 폴더 포함

Storage::directories($directory);//폴더 목록
Storage::allDirectories($directory);

Storage::makeDirectory($directory);//폴더 만들기
Storage::deleteDirectory($directory);//폴더 삭제

//참고
http://stayregular.net/blog/how-to-upload-images-using-amazon-s3-and-laravel
https://dzone.com/articles/how-to-upload-files-to-amazon-s3-using-laravel

 

How to Upload Files to Amazon S3 Using Laravel - DZone Cloud

Take a look at this tutorial that shows you how you can leverage the scalabilty of cloud with powerful development capabilities of the Laravel framework.

dzone.com

 

How to Upload Images using Amazon S3 and Laravel

Stay Regular Media is a team of artists with decades of combined experience in the design and cannabis industries.

stayregular.net

 

'PHP' 카테고리의 다른 글

Laravel HTTP 세션  (0) 2020.06.16
Laravel flysystem-aws-s3-v3 확장  (0) 2020.06.16
[PHP] 텔레그램 api로 알림 받기  (0) 2020.06.15
PHP Composer 설치 및 사용법  (0) 2020.06.05
라라벨 orm query log 남기기  (0) 2020.05.21
posted by 수수 파인진

댓글을 달아 주세요