Когда у вас есть JPEG в памяти (с использованием ImageMagick , GD или выбранной вами графической библиотеки), вам необходимо загрузить объект из памяти в S3 .
Многие классы PHP S3 поддерживают загрузку файлов, но класс Undesigned , кажется, делает то, что нам нужно -
// Manipulate image - assume ImageMagick, so $im is image object
$im = new Imagick();
// Get image source data
$im->readimageblob($image_source);
// Upload an object from a resource (requires size):
$s3->putObject($s3->inputResource($im->getimageblob(), $im->getSize()),
$bucketName, $uploadName, S3::ACL_PUBLIC_READ);
Если вместо этого вы используете GD, вы можете использовать
imagecreatefromstring для чтения изображения из потока, но я не уверен, сможете ли вы получить размер результирующего объекта, как требуется s3->inputResource
выше - getimagesize возвращает высота, ширина и т. д., но не размер ресурса изображения.