PHPackages                             pozitronik/yii2-filestorage - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. pozitronik/yii2-filestorage

ActiveYii2-extension[File &amp; Storage](/categories/file-storage)

pozitronik/yii2-filestorage
===========================

Filestorage module for YII2

1.0.2.2(3y ago)03.2k1GPL-3.0-or-laterPHPPHP &gt;=8.0

Since May 6Pushed 9mo ago1 watchersCompare

[ Source](https://github.com/pozitronik/yii2-filestorage)[ Packagist](https://packagist.org/packages/pozitronik/yii2-filestorage)[ RSS](/packages/pozitronik-yii2-filestorage/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (5)Versions (7)Used By (0)

FileStorage
===========

[](#filestorage)

Filestorage module for YII2

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Run

```
php composer.phar require pozitronik/yii2-filestorage "dev-master"

```

or add

```
"pozitronik/yii2-filestorage": "dev-master"

```

to the require section of your `composer.json` file.

Requirements
------------

[](#requirements)

Yii2, PHP &gt;= 7.4.0

Usage
-----

[](#usage)

Конфигурация модуля должна задаваться в web.php и console.php (для корректного выполнения миграции):

```
'filestorage' => [
	'class' => FSModule::class,
	'defaultRoute' => 'index',
	'params' => [
		'tableName' => 'sys_file_storage',//используемая таблица хранения метаданных
		'tableNameTags' => 'sys_file_storage_tags',//используемая таблица хранения тегов
		'base_dir' => '@app/web/uploads/',//каталог хранения файлов
		'models_subdirs' => true,//файлы каждой модели кладутся в подкаталог с именем модели
		'name_subdirs_length' => 2//если больше 0, то файлы загружаются в подкаталоги по именам файлов (параметр регулирует длину имени подкаталогов)
	]
]
```

после конфигурирования выполняем миграцию:

```
yii migrate --migrationPath=@vendor/pozitronik/yii2-filestorage/migrations

```

Логика: добавляем FileStorageTrait к любому наследнику Model::class. Он добавляет классу атрибут UploadedFile $uploadFileInstance, а также методы

```
    uploadFile(array $tags = [], string $instanceName = 'uploadFileInstance'):array //добавление файла с заданным набором тегов.
```

и

```
    files(?array $tags = null):array //получение списка загрузок по заданному набору тегов.
```

Мультизагрузка пока не реализована.

При загрузке через uploadFile, загрузка привязывается к модели. Для ActiveRecord привязка происходит непосредственно к экземпляру класса, для обычных моделей -- ко всему классу. Тег -- произвольная метка, добавляемая загрузке. Одной загрузке может быть добавлено произвольное количество тегов. К модели может быть добавлено произвольное количество загрузок с одинаковым набором тегов. Через это реализована версионность: последняя загрузка считается актуальной, остальные -- предыдущими версиями, доступными отдельно).

Метод files() вернёт список всех загрузок модели (опционально -- только по указанным тегам). У каждой загрузки доступны

- метод download() -- отдаёт скачку привязанного к загрузке файла
- атрибут $versions -- отдаёт нумерованный список версий этой загрузки (где 0 -- наиболее актуальная).

Демо - в @vendor/src/controllers/IndexController.php, там так или иначе показаны все фичи.

Для непосредственной загрузки указываем атрибут fileUploadInstance и делаем save()

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance41

Moderate activity, may be stable

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Total

5

Last Release

1335d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/76ddc43524bb32eb36568e25b6ae283bc25bb51a4572789997909092145af0f5?d=identicon)[pozitronik](/maintainers/pozitronik)

---

Top Contributors

[![pozitronik](https://avatars.githubusercontent.com/u/2357892?v=4)](https://github.com/pozitronik "pozitronik (73 commits)")[![pepebotika69](https://avatars.githubusercontent.com/u/14938095?v=4)](https://github.com/pepebotika69 "pepebotika69 (2 commits)")

---

Tags

yii2filestorage

### Embed Badge

![Health badge](/badges/pozitronik-yii2-filestorage/health.svg)

```
[![Health](https://phpackages.com/badges/pozitronik-yii2-filestorage/health.svg)](https://phpackages.com/packages/pozitronik-yii2-filestorage)
```

###  Alternatives

[craftcms/aws-s3

Amazon S3 integration for Craft CMS

631.5M26](/packages/craftcms-aws-s3)[liyunfang/yii2-upload-behavior

Upload behavior for Yii 2

161.7k](/packages/liyunfang-yii2-upload-behavior)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
