Как создать папку в корзине Amazon S3 с помощью PHP API?
Я разрабатываю приложение для iPhone, позволяющее пользователям загружать фотографии и делиться ими. Я хочу использовать S3 для хранения загруженных изображений, а также обработанных изображений (например, миниатюр, изображений уменьшенного размера). Я установил API AWS PHP на свой экземпляр EC2, мои вопросы: 1) Должны ли фотографии, загруженные из приложения iPhone, сначала отправляться в каталог EC2, а затем копироваться в корзину S3, или они должны быть загружены непосредственно в S3? 2) Как я могу создавать разные папки в корзине S3 с помощью PHP API и как читать файлы из папки?
Заранее спасибо!
2 answers
Ответ можно найти здесь: Прямая загрузка в s3 без использования производственного сервера
-
Я никогда не использовал 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/отпуск/".
Да, можно создать новую папку с помощью s3
sdk.
Попробуйте использовать следующий код
<?php
/* abc is the folder name */
$s3->putObject(array(
'Bucket' => $bucket,
'Key' => "abc/",
'Body' => "",
'ACL' => 'public-read'
));