dcb9 / yii2-qiniu
此包已被废弃且不再维护。未建议替代包。
Yii 框架的七牛云存储集成
v0.5
2016-10-14 09:53 UTC
Requires
- php: >=5.4.0
- league/flysystem: ~1.0
- qiniu/php-sdk: v7.0.7
- yiisoft/yii2: *
Requires (Dev)
This package is not auto-updated.
Last update: 2020-01-24 15:52:24 UTC
README
Yii 框架的七牛云存储集成
安装
安装此扩展的首选方式是通过 Composer。
运行以下命令之一:
composer require --prefer-dist dcb9/yii2-qiniu
或者添加以下代码到你的 composer.json 的 require
部分:
"dcb9/yii2-qiniu": "*"
配置
要使用此扩展,只需在应用程序配置中添加以下代码
return [ //.... 'components' => [ 'qiniu' => [ 'class' => 'dcb9\qiniu\Component', 'accessKey' => 'YOUR_ACCESS_KEY', 'secretKey' => 'YOUR_SECRET_KEY', 'disks' => [ 'testBucket' => [ 'bucket' => 'bucketOnQiniu', 'baseUrl' => 'ACCESS_QINIU_URL', 'isPrivate' => true, 'zone' => 'zone0', // 可设置为 zone0, zone1 @see \Qiniu\Zone ], ], ], ], ];
资源操作
资源操作是 Flysystem 的一个扩展,因此所有调用方法与 Flysystem 调用方法一致。
// 获取 Disk $filesystem = Yii::$app->qiniu->getDisk('testBucket'); $filesystem->has('hello.txt'); // 七牛独有 API $filesystem->getUrl('hello.txt'); // 获取访问地址
上传策略
默认设置 Policy 是使用数组的方式设置,但这种方式对程序员不是很友好,因此创建了一个 Policy 的类,但所有的操作还是跟操作数组一样。
$policy = new \dcb9\qiniu\Policy(); $policy->callbackUrl = ''; $policy->callbackBody = '';
获取 UploadToken
$qiniu = Yii::$app->qiniu; $diskName = 'testBucket'; $token1 = $qiniu->getUploadToken($diskName); $key = null; $expires = 3600; $policy = new \dcb9\qiniu\Policy(); $policy->callbackUrl = ''; $policy->callbackBody = ''; // Fop @see src/Pfop.php $policy->persistentOps = \dcb9\qiniu\Pfop::instance() ->avthumb('mp4') ->wmImage('http://o82pobmde.bkt.clouddn.com/yii2-logo.png') ->saveas('testbucket', 'after-ops' . date('Y-m-d H:i:s') . '.mp4') ->__toString(); $policy->persistentNotifyUrl = 'http://blog.phpor.me'; $diskName = 'testBucket'; $token2 = $qiniu->getUploadToken($diskName, $key, $expires, $policy);
使用 Token 上传文件
$token = '<TOKEN>'; // @see 获取 UploadToken $config = ['token' => $token]; $filesystem->writeStream($path, $stream, $config); $filesystem->write($path, $content, $config); $filesystem->put($path, $content, $config);
技巧
- 为配置的组件添加 IDE 自动补全 IDE 自动补全自定义组件