Yii2-file-system是 Flysystem基础上基于 Yii2 框架的实现的扩展。 任何存储,统一的函数调用
Componser
安装 (以下2种方式)composer require callmez/yii2-file-system
编辑composer.json
"require": {
...
"callmez/yii2-file-system": "*"
},
编辑config/main.php
'components' => [
'fileSystem' => [
'class' => 'callmez\file\system\Collection',
'fileSystems' => [
//根据需求可设置多个存储, 以下来使用例子
'local' => function() {
return new \callmez\file\system\FileSystem(
new \callmez\file\system\adapters\Local(\Yii::getAlias('@webroot\images'))
);
},
'qiniu' => function() {
return new \callmez\file\system\FileSystem(
new \callmez\file\system\adapters\Qiniu(
'七牛空间的 bucket',
'七牛空间的 access key',
'七牛空间的 access secret',
'七牛的空间域名,默认为 {bucket}.qiniu.com 选填'
)
);
}
]
]
]
使用例子(推荐wrapper方式)
// 集合方式
$local = Yii::$app->fileSystem->get('local');
$local->write('test.txt', 'hello world');
echo $local->read('test.txt');
$qiniu = Yii::$app->fileSystem->get('qiniu');
$qiniu->write('test.txt', 'hello world');
echo $qiniu->read('test.txt');
// wrapper 方式 (推荐)
//等同于Yii::$app->fileSystem->get('local')->write('test.txt', 'hello world');
Yii::$app->fileSystem->write('local://test.txt', 'hello world');
//等同于Yii::$app->fileSystem->get('qiniu')->write('test.txt', 'hello world');
Yii::$app->fileSystem->write('qiniu://test.txt', 'hello world');