Как создать папку в корзине Amazon S3 с помощью PHP API?


Я разрабатываю приложение для iPhone, позволяющее пользователям загружать фотографии и делиться ими. Я хочу использовать S3 для хранения загруженных изображений, а также обработанных изображений (например, миниатюр, изображений уменьшенного размера). Я установил API AWS PHP на свой экземпляр EC2, мои вопросы: 1) Должны ли фотографии, загруженные из приложения iPhone, сначала отправляться в каталог EC2, а затем копироваться в корзину S3, или они должны быть загружены непосредственно в S3? 2) Как я могу создавать разные папки в корзине S3 с помощью PHP API и как читать файлы из папки?

Заранее спасибо!

Author: 100calorie, 2012-09-06

2 answers

  1. Ответ можно найти здесь: Прямая загрузка в s3 без использования производственного сервера

  2. Я никогда не использовал PHP SDK, но я просматривал AWS SDK для PHP 1.5.14 документация и наткнулся на следующие API, которые вам нужно будет использовать:

    A) create_object: Вы будете использовать это, чтобы поместить объект в корзину. Вы укажете имя файла. Вы спросили, как вы можете создавать разные папки: вы будете включите полный путь в имя файла. Например, вместо того, чтобы называть файл"photo1.jpg ", вы бы назвали это"user1/vacation/photo1.jpg ".

    B) get_object_list: Этот API вернет вам список объектов с учетом некоторых критериев. Если вы хотите прочитать все объекты из определенной папки, укажите префикс в качестве пути к папке. Например, если я хочу найти все файлы в папке "пользователь1/отпуск/", я бы указал свой префикс как "пользователь1/отпуск/".

 9
Author: alfredaday, 2017-05-23 11:53:49

Да, можно создать новую папку с помощью s3 sdk.

Попробуйте использовать следующий код

<?php

 /* abc is the folder name */

 $s3->putObject(array( 
                   'Bucket' => $bucket,
                   'Key'    => "abc/",
                   'Body'   => "",
                   'ACL'    => 'public-read'
                  ));
 23
Author: Manoj Prajapat, 2015-07-30 13:26:55