Загрузка изображения с помощью AWS SDK для PHP 2

Это сводит меня с ума - я работаю над этой проблемой в течение нескольких дней без особого успеха. Я'Мы наконец-то врезались в кирпичную стену и нуждаемся в помощи. Многие статьи и форумы, которые я искал, не предназначены для AWSSDK для PHP 2.

Мы использовали Amazons S3 для загрузки изображений через iOS за последние пару лет.

Теперь мне нужно осуществить загрузку в браузере.

Я скачал и успешно установил AWSSDK для PHP 2 на наш сервер Ubuntu. Я могу подключиться к нашей учетной записи AWS S3 и отобразить содержимое сегментов. Но я не могу положить изображение в ведро.

Исключением из AWS является:

Aws \ S3 \ Exception \ NotImplementedException: Код ошибки AWS: Не реализовано, Код состояния: 501, Идентификатор запроса AWS: CEDC4BBAA83CF70C, Тип ошибки AWS: сервер, Сообщение об ошибке AWS: Предоставленный вами заголовок подразумевает, что функциональность не реализована.

Вот URL-адрес, с которого я получил приведенный ниже пример кода, под заголовком «Загрузка файла в Amazon S3»:https://github.com/aws/aws-sdk-php#quick-start

И я обновил свой код на основе этого:AWS PHP SDK версии 2 S3 ошибка putObject

Но это все еще нет работа.

Вот мой код:

 AMAZON_ACCESS_KEY,
    'secret' => AMAZON_ACCESS_SECRET,
    'region' => Region::US_EAST_1    
);
$s3 = S3Client::factory($config);


try {
    $bucketname = 'my_bucket_name';            //my bucket name on s3
    $filename = 'filename.jpg';                //my image on my server
    $path = 'http://my.website.com/app/cache/remote';        //the path where the image is located
    $fullfilename = $path."/".$filename;

    //this successfully lists the contents of the bucket I am interested in
    foreach ($s3->getIterator('ListBuckets') as $bucket) {
        foreach ($s3->getIterator('ListObjects', array('Bucket' => $bucket['Name'])) as $object) {
            if ( $bucket['Name'] == $bucketname ) {
                echo $bucket['Name'] . '/' . $object['Key'] . PHP_EOL;
            }
        }
    }

    //HERE ME HERE, PLEASE!  this is the code that throws the exception
    $s3->putObject(array(
        'Bucket' => $bucketname,
        'Key'    => $filename, 
        'Body'   => EntityBody::factory(fopen($fullfilename, 'r')),
        'ACL'    => CannedAcl::PUBLIC_READ_WRITE,
        'ContentType' => 'image/jpeg'
    ));


} catch (S3Exception $e) {
    echo $e;
}

?>

Может кто-нибудь предоставить мне пример, чтобы я мог загрузить изображение JPG в нашу корзину на S3, используя AWSSDK для PHP 2?

РЕШЕНИЕ: от ppostma1 'В ответ я изменил свой код следующим образом, и теперь он работает:

$bucketname = 'my_bucket_name';  //must be all lowercase
$filename = 'filename.jpg'; //my image on my server
$path = 'var/www/html/root-website-folder/images/'; //the physical path where the image is located
$fullfilename = $path.$filename;

$s3->putObject(array(
        'Bucket' => $bucketname,
        'Key'    => $filename, 
        'Body'   => EntityBody::factory(fopen($fullfilename, 'r')),
        'ACL'    => CannedAcl::PUBLIC_READ_WRITE,
        'ContentType' => 'image/jpeg'
));

Ответы на вопрос(1)

Ваш ответ на вопрос