테스트 사이트 - 개발 중인 베타 버전입니다

php에서는 파일 저장없이 s3에 업로드 안되나요?? 채택완료

NeoCoder88 6개월 전 조회 1,490

일반 string 문자열을 로컬에 저장하지 않고
바로 텍스트 파일로 s3에 업로드하려는데
따로 가이드가 없어서 문의드립니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 6개

채택된 답변
+20 포인트
6개월 전

php aws s3 api 를 직접 쓰면 됩니다.
파일로 만들 필요가 없습니다.

$s3->putObject([
'Bucket' => $bucket,
'Key' => $objkey,
'Body' => gzencode($text, 9),
'ACL' => 'public-read',
'ContentType' => 'text/plain',
'ContentEncoding' => 'gzip'
]);

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

ChrisJ
3개월 전

s3 접근권한도 필요하니 이것도 참고해보세요!

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

ChrisJ
3개월 전

s3 접근권한도 필요하니 이것도 참고해보세요!

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6개월 전

어뷰징 게시글 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6개월 전
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
6개월 전

GPT에 문의해서 답변 얻은 부분이니 참고해 보세요


</p>

<p>require 'vendor/autoload.php';</p>

<p>use Aws\S3\S3Client;</p>

<p>// AWS S3 클라이언트 초기화

$s3 = new S3Client([

    'region'  => 'ap-northeast-2',  // 예: 서울 리전

    'version' => 'latest',

    'credentials' => [

        'key'    => 'YOUR_AWS_KEY',

        'secret' => 'YOUR_AWS_SECRET',

    ],

]);</p>

<p>// 업로드할 문자열

$content = "이것은 메모리에서 바로 업로드되는 문자열입니다.";</p>

<p>// php://temp에 파일 핸들 생성

$stream = fopen('php://temp', 'r+');

fwrite($stream, $content);

rewind($stream); // 파일 포인터를 처음으로 되돌림</p>

<p>// S3에 업로드

$result = $s3->upload('your-bucket-name', 'path/to/file.txt', $stream, 'public-read');</p>

<p>// 스트림 닫기

fclose($stream);</p>

<p>// 결과 확인

echo "File uploaded to: " . $result['ObjectURL'];</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인