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

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

QA

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

답변 6

본문

일반 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'];
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #php ×
전체 15,826
© SIRSOFT
현재 페이지 제일 처음으로