php에서는 파일 저장없이 s3에 업로드 안되나요??
본문
일반 string 문자열을 로컬에 저장하지 않고
바로 텍스트 파일로 s3에 업로드하려는데
따로 가이드가 없어서 문의드립니다.
답변 6
php aws s3 api 를 직접 쓰면 됩니다.
파일로 만들 필요가 없습니다.
$s3->putObject([
'Bucket' => $bucket,
'Key' => $objkey,
'Body' => gzencode($text, 9),
'ACL' => 'public-read',
'ContentType' => 'text/plain',
'ContentEncoding' => 'gzip'
]);
GPT에 문의해서 답변 얻은 부분이니 참고해 보세요
require 'vendor/autoload.php';
use Aws\S3\S3Client;
// AWS S3 클라이언트 초기화
$s3 = new S3Client([
'region' => 'ap-northeast-2', // 예: 서울 리전
'version' => 'latest',
'credentials' => [
'key' => 'YOUR_AWS_KEY',
'secret' => 'YOUR_AWS_SECRET',
],
]);
// 업로드할 문자열
$content = "이것은 메모리에서 바로 업로드되는 문자열입니다.";
// php://temp에 파일 핸들 생성
$stream = fopen('php://temp', 'r+');
fwrite($stream, $content);
rewind($stream); // 파일 포인터를 처음으로 되돌림
// S3에 업로드
$result = $s3->upload('your-bucket-name', 'path/to/file.txt', $stream, 'public-read');
// 스트림 닫기
fclose($stream);
// 결과 확인
echo "File uploaded to: " . $result['ObjectURL'];
어뷰징 게시글
s3 접근권한도 필요하니 이것도 참고해보세요!
s3 접근권한도 필요하니 이것도 참고해보세요!
답변을 작성하시기 전에 로그인 해주세요.