juckzhang / yii2-upload
为Yii2框架提供的七牛、ftp、本地、阿里云OSS集成
1.0.0
2017-04-17 02:39 UTC
Requires
- php: >=5.4.0
- aliyuncs/oss-sdk-php: ~2.0
- dcb9/yii2-qiniu: ^0.3.0
- hguenot/yii2-gftp: *
- league/flysystem: ~1.0
- qiniu/php-sdk: v7.0.7
- yiisoft/yii2: *
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-20 19:44:48 UTC
README
为Yii框架提供的七牛集成
安装
安装此扩展的首选方式是通过composer。
运行以下命令之一:
composer require juckzhang/yii2-upload:*
或者在composer.json的require
部分添加以下内容:
"juckzhang/yii2-upload": "*"
配置
要使用此扩展,只需在应用程序配置中添加以下代码
[配置]
1、在config目录下新添加上传配置文件upload.php
return [ 'advertisement' => [ 'extensions' => null, 'mimeTypes' => null, 'minSize' => 1024, 'maxSize' => 10 * 1048576, 'uploadRequired' => '上传文件不存在!', 'tooBig' => '文件大小超过限制', 'tooSmall' => '上传文件太小', 'tooMany' => '上传文件数量超过限制', 'wrongExtension' => '文件扩展名不支持', 'wrongMimeType' => '文件mime-type不支持', 'path' => realpath(__DIR__ . '/../upload'), 'urlPrefix' => 'https://', 'remoteUpload' => true, 'recursive' => false, ], ];
2、
/** QiNiu **/ return [ 'components' => [ 'uploadTool' => [ 'class' => 'juckzhang\drivers\UploadTool', 'handler' => [ 'class' => 'juckzhang\drivers\UploadQiNiu', 'diskName' => 'privateBucket', 'config' => [ 'class' => 'dcb9\qiniu\Component', 'accessKey' => 'YOUR ACCESSKEY', 'secretKey' => 'YOUR SECRETKEY', 'disks' => [ 'privateBucket' => [ 'bucket' => 'YOUR BUCKET', 'baseUrl' => 'http://your-domain/', 'isPrivate' => true, 'zone' => 'zone1', // 可设置为 zone0, zone1 @see \Qiniu\Zone ], ], ], ], ], ] /** OR AliYun **/ return [ 'components' => [ 'uploadTool' => [ 'class' => 'juckzhang\drivers\UploadTool', 'handler' => [ 'class' => 'juckzhang\drivers\UploadAliYun', 'accessKeyId' => 'YOUR ACCESSSKEYID', 'accessKeySecret' => 'ACCESSKEYSECRET', 'bucket' => 'test-zaizaitv-upload', 'endPoint' => 'http://your-domain/', ], ], ], ] /** OR Ftp **/ return [ 'components' => [ 'uploadTool' => [ 'class' => 'juckzhang\drivers\UploadTool', 'handler' => [ 'class' => 'juckzhang\drivers\UploadFtp', 'config' => [ 'class' => 'gftp\FtpComponent', 'connectionString' => 'ftp://USERNAME:PASSWORD@HOST:PORT', 'driverOptions' => [ 'timeout' => 30, ], ], ], ], ], ]
[使用1]
\Yii::$app->get('uploadTool')->uploadFile($remoteFileName,$localFileName);
[使用2]
/**单文件上传**/ juckzhang\UploadService::getService()->upload($sceneType); /**多文件上传**/ juckzhang\UploadService::getService()->multiUpload($sceneType);
[控制器中使用]
'controllerMap' => [ 'upload' => [ 'class' => 'juckzhang\controllers\UploadController', ], ],
技巧
- 为配置的组件添加IDE自动补全 IDE自动补全自定义组件