Для получения полного доступа
зарегистрируйтесь.
Snippet,  PHP

Работа с файловыми хранилищами в Yii2: Dropbox, AWS, Azure и многое другое


Наткнулся на полезный (кто бы сомневался) проект Flysystem, от замечательной команды The League of Extraordinary Packages, который позволяет работать с такими хранилищами файлов как Dropbox, AWS, Azure, FTP, SFTP, WebDAV и другими. Для популярных фреймворков уже есть готовые интеграции, в том числе и для yii2 — yii2-flysystem

Допустим, нам необходимо создать папку для Dropbox. Создадим приложение на сайте, сгенерируем токен:

rAbTDKa.png

Добавим в composer:

composer require creocoder/yii2-flysystem

И подключим нужный нам адаптер, в нашем случае Dropbox:

composer require league/flysystem-dropbox

В yii/dropbox/config/web.php, в секцию components, добавим настройки для подключения:

return [
    'components' => [
        'dropboxFs' => [
            'class' => 'creocoder\flysystem\DropboxFilesystem',
            'token' => 'Token',
            'app' => 'App Name'
        ],
    ],
];

В документации описаны все доступные методы, которые работают для всех типов хранилищ. Целью сниппета было ознакомить сообщество с этой библиотекой. Поэтому ограничемся простым вызовом метода для создания папки.

Демка теста:

1af272141f90ea6cc8e1359708d4f615.gif

Добавим в контроллер вызов метода для создания папки:

/**
 * @return string
 */
public function actionIndex()
{
    Yii::$app->dropboxFs->createDir('Stash/test/folder');
    return $this->render('index');
}
  библиотеки flysystem github работа с файлами dropbox

Автор


dfatt
  • Reputation: 260
  • Snippets : 53
  • Revisions : 7
Подписаться

Чтобы увидеть комментарии, нужно быть участником сообщества

Регистрация