После того, как вы получили 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 возвращает высоту, ширину и т. д., но не размер ресурса изображения.
Я должен был уточнить - я использую класс Undesigned S3. Знаете ли вы, что GD делает то, что вы разместили выше? Прежде чем я перейду к установке imagemagick, было бы неплохо узнать, нужно ли мне это делать. – MPX 2008-10-09 22:26:06
Мой GD немного отрывочен - я знаю, что вы можете читать изображение в точности так же, как и ImageMagick, но не уверен в том, что вы хотите получить размер объекта, хотя прошло некоторое время с тех пор, как я просмотрел документы и ничего не видел. ImageMagick стоит установки, хотя ИМО! – ConroyP 2008-10-09 22:49:17
imagesx и imagesy возвращает ширину/высоту изображения. – 2008-10-10 08:19:03