0
그래서 현재 AWS S3를 사용하여 이미지를 업로드하는 업로드 시스템이 있습니다.메모리에서 PHP의 AWS S3에 이미지를 업로드하는 방법은 무엇입니까?
여기에 코드입니다 :이 이미지는 JPEG 또는 PNG 될 수
//Upload image to S3
$s3 = Aws\S3\S3Client::factory(array('key' => /*mykey*/, 'secret' => /*myskey*/,));
try {
$s3->putObject(array(
'Bucket' => "bucketname",
'Key' => $file_name,
'Body' => fopen(/*filelocation*/, 'r+')
));
} catch(Exception $e) {
//Error
}
, 내가 업로드하기 전에 PNG로 변환 할 수 있습니다. 이렇게하려면 내가 사용
//This is simplified, please don't warn about transparency, etc.
$image = imagecreatetruecolor($width, $height);
imagecopyresampled($image, $source, 0, 0, 0, 0, etc.);
그래서 나는 기억이
$image
목적이있다.
로컬로 저장하고 업로드 한 다음 로컬에서 삭제하지 않고이 파일을 S3에 업로드하려고합니다. 이 여분의 단계는 무의미한 것처럼 보입니다. 하지만이 $ 이미지 객체를 직접 업로드하는 방법을 알아낼 수는 없습니다.
이것이 어떻게 수행 될지 아이디어가 있으십니까? fopen() imagecreatetruecolor() 비슷한 유형의 개체를 만들 것이라고 가정하지만 $ 이미지 개체를 전달하는 시도했다 및 작동하지 않습니다 - fopen 함께 로컬로 이미지를 여는 반면).
그것을 시도,하지만 적이 아마도 ([변수로부터 스트림을 생성] http://php.net/manual/ en/function.stream-wrapper-register.php) 스트림을 허용하기 때문에 트릭을 수행합니다. –