2017 © Pedro Peláez
 

yii2-extension yii2-file-upload

File storage table

image

carono/yii2-file-upload

File storage table

  • Friday, March 30, 2018
  • by carono
  • Repository
  • 1 Watchers
  • 0 Stars
  • 131 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 7 Versions
  • 19 % Grown

The README.md

Scrutinizer Code Quality Latest Stable Version Total Downloads License, (*1)

Установка

  1. Создать миграцию и наследовать её от carono\yii2file\FileUploadMigration
class m170927_171858_fu extends \carono\yii2file\FileUploadMigration
{
    public $tableName = '{{%file_upload}}';
}
  1. Или выполнить yii migrate --migrationPath=@vendor/carono/yii2-file-upload/migrations

Как использовать

  1. В вашу модель таблицы file_upload добавить трейт carono\yii2file\FileUploadTrait
  2. После этого можно сохранять файлы следующим образом:
    FileUpload::startUpload('@runtime/test.txt')->process();
    FileUpload::startUpload('http://example.com/file.txt')->process();
    FileUpload::startUpload(yii\web\UploadedFile $file)->process();

По цепочке можно добавлять дополнительные свойства, (*2)

FileUpload::startUpload('@runtime/img.png')
->slug('user_avatar') // поле slug
->data(['id'=>1]) // произвольные данные, записываются в data как json
->name('user_avatar.png') // сохраним файл в базе с новым именем
->folder('@app/new_destination') // сохраним файл в новой папке, по умолчанию @app/files
->delete(false) // не удалять файл источник по завершению, по умолчанию - удаляем
->process(); // сохраним модель

Свойства трейта

Свойство Значение Описание
$fileNameAsUid true Реальный файл хранить как uid.extension (bb1fe78c3b769eee34202da2ac1e89c8.txt), иначе как fileName.extension (test.txt)
$eraseOnDelete true при вызове delete(), удалять реальный файл
$fileUploadFolder @app/files папка хранения файлов

Методы трейта

Метод Описание
startUpload($file) начать загрузку файла
deleteFile() удалить реальный файл
getRealFileName() получить имя файла, которое хранится в FS
getRealFilePath() полный путь реального файла
fileExist() проверка существования файла
isImage() файл по mimeType является картинкой
getFileName() имя файла, которое записано в базе (user_avatar.png, а в FS хранится как bb1fe78c3b769eee34202da2ac1e89c8.png)

Особенности

Необходимо учесть, что при переопределение функции getRealFileName(), будет влиять и на имя при сохранении новых файлов подробнее смотрите carono\yii2file\Uploader, (*3)

Не забудьте добавить поведение yii\behaviors\TimestampBehavior для хранения времени добавления, (*4)

Загрузку файла необходимо оборачивать try...catch, т.к. будут вызываться Exception при ошибках, (*5)

Схема

, (*6)

The Versions

30/03 2018

dev-master

9999999-dev

File storage table

  Sources   Download

MIT

The Requires

 

extension yii2

30/03 2018

1.0.3

1.0.3.0

File storage table

  Sources   Download

MIT

The Requires

 

extension yii2

18/01 2018

1.0.2

1.0.2.0

File storage table

  Sources   Download

MIT

The Requires

 

extension yii2

17/01 2018

1.0.1

1.0.1.0

File storage table

  Sources   Download

MIT

The Requires

 

extension yii2

27/09 2017

1.0.0

1.0.0.0

File storage table

  Sources   Download

MIT

The Requires

 

extension yii2

03/04 2017

0.0.2

0.0.2.0

File storage table

  Sources   Download

MIT

The Requires

 

extension yii2

29/12 2016

0.0.1

0.0.1.0

File storage table

  Sources   Download

MIT

The Requires

 

extension yii2