juckzhang / yii2-upload
The Qiniu 、ftp、local、aliyun-oss integration for the Yii2 framework
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 0
Type:yii2-extension
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-11-15 20:23:06 UTC
README
The Qiniu integration for the Yii framework
Installation
The preferred way to install this extension is through composer.
Either run
composer require juckzhang/yii2-upload:*
or add
"juckzhang/yii2-upload": "*"
to the require
section of your composer.json.
Configuration
To use this extension, simply add the following code in your application configuration:
[配置]
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' => 'http://localhost', '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', ], ],
Tricks
- 给配置的组件加 IDE 自动补全 IDE autocompletion for custom components