File Uploader - PNixx/Boot GitHub Wiki
Позволяет быстро загружать файлы в момент сохранения данных в БД. Для настройки достаточно выполнить несколько шагов:
- Создаем файл загрузчика в директории проекта
uploader/image.php
с таким содержимым:
class imageUploader extends Boot_Uploader_Abstract {
}
- Далее в нашей модели
Model_Images
пропишем:
/**
* Подключение класса загрузки
* [
* column => class name
* ]
* @var array
*/
protected static $mount_uploader = [
'file' => 'imageUploader'
];
Где file
- это имя колонки в БД, в котором будет храниться имя сохраненного файла, а imageUploader
- имя созданного класса загрузчика.
Для загрузки и обработки изображений, потребуется библиотека из composer
- "intervention/image": "~2.1"
. Основная настройка Composer.
Для создания различных версий размера, необходимо добавить в класс imageUploader
значения следующей переменной:
/**
* Версии файлов
* [
* "version_name" => ["resize_to_fit", [100,100]]
* ]
* Accept processes: resize_to_fill, resize_to_fit, resize
* @require "intervention/image": "~2.1"
* @var array
*/
protected $version = [
'thumb' => ["resize_to_fill", [200,200]],
'preview' => ["resize_to_fill", [300,200]],
];
<? $f = new Boot_Form_Lib("images", $image, array("method" => "post")) ?>
<div><?= $f->input('file', ['as' => 'file', 'label' => 'Выберите файл для загрузки']) ?></div>
<?= $f->submit('Сохранить', ['class' => 'btn']) ?>
<? $f->end() ?>
После всех настроек в html шаблоне можно получить полную ссылку на изображение любой версии:
<img src="<?= $image->file->url('preview') ?>"> - созданная preview версия
<img src="<?= $image->file->url() ?>"> - оригинальная версия файла