Работает самостоятельно, на первый взгляд, допустимо, предполагая, что это тип контента:
Вам необходимо установить правильный тип содержимого для загружаемого изображения, следующий список содержит все наиболее распространенные типы
* image/gif: GIF image
* image/jpeg: JPEG JFIF image
* image/png: Portable Network Graphics
* image/svg+xml: SVG vector image
* image/tiff: Tag Image File Format
* image/vnd.microsoft.icon: ICO image
Итак, переделка вашего примера кода для загрузки в png:
// Prepare to upload the file to S3 bucket.
$s3->create_object($bucket, $file_name, array(
'contentType' => 'image/png',
'acl' => AmazonS3::ACL_PUBLIC
));