S3 библиотека для Kohana3

app01
Этот пост довольно специфичен. Счастье под названием S3 доступно не всем, а только клиентам хостинга Amazon. Поэтому остальным оно просто не нужно.

S3 это услуга тупо просто хранения файловой массы (Simple Storage Service). От обычного хостинга отличается относительно невысокой ценой за хранение и исходящий трафик в обмен на полное отсутствие программной логики. Как они это делают, я не знаю, но услуга актуальная, особенно для тех, кто хранит медиа-контент на своём хостинге. Народ обычно берёт в Amazon обыкновенный хостинг, пишет на нём обыкновенный сайт, но все тяжёлые файлы заливает на этот самый S3.

Загрузка файлов на S3 связана с хитрой авторизацией и вообще нестандартная. Так что мне потребовались специальные функции загрузки и удаления файлов на S3. А поскольку я любитель велосипедов — написал свою библиотеку для Ko3, в которой честно стырил адаптировал ряд чужих наработок.

Скачать библиотеку можно тут (всего скачали раз).


Установка
===========================
Всё просто — скачать, распаковать архив, файл s3.php разместить в папку application/classes. Не забудьте указать свои настройки: секретные ключи и «корзину». Настройки я разместил прямо в теле файла библиотеки s3. Наверное, правильнее было бы вынести эти настройки в отдельный конфигурационный файл, но я поленился есть мнение, что дополнительные файлы утяжеляют работу Kohana. Может это и неверно.

Использование
===========================
Загрузка:

$url = s3::upload($localfile) 

$localfile — локальный полный путь к файлу. Предполагается, что на этот момент файл загружен на сервер, на котором запускается PHP.

Возвращает полный URL загруженного файла.

Удаление:

s3::delete($file)

$file — вообще лучше указывать относительный путь к файлу (key), но можно и URL, функция попытается найти key по URL.

Обе функции не возвращают никаких ошибок. Если что-то пошло не так — тихо и молча заканчивают работу.

Заключение
====================================
Я немного застрял в прошлом, поэтому всё ещё пишу для Kohana 3.0 и соответственно всё проверялось там. На Kohana 3.1 и 3.2 не тестировал.

S3 библиотека для Kohana3: Один комментарий

  1. Уведомление: PHP библиотека для работы с Amazon S3 « Блог о CMS

Комментарии запрещены.