chocoboxxf/yii2-qiniu-sdk

为 Yii 2.0 定制的七牛云存储 API SDK

安装: 438

依赖: 0

建议者: 0

安全: 0

星标: 7

关注者: 2

分支: 7

开放问题: 0

类型:yii2-extension

dev-master 2017-03-29 06:48 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:53:39 UTC


README

基于 Yii2 实现的七牛云存储 API SDK(使用官方 SDK)(目前处于开发中)

环境要求

  • = PHP 5.4

  • = Yii 2.0

  • cURL 扩展

安装

composer.json 文件中添加以下代码,并执行 composer update --no-dev 操作

{
    "require": {
       "chocoboxxf/yii2-qiniu-sdk": "dev-master"
    }
}

配置方法

// 全局使用
// 在config/main.php配置文件中定义component配置信息
'components' => [
  .....
  'qiniu' => [ 
      'class' => 'chocoboxxf\Qiniu\Qiniu',
      'accessKey' => 'Access Key',
      'secretKey' => 'Secret Key',
      'domain' => '七牛域名',
      'bucket' => '空间名',
      'secure' => false, // 是否使用HTTPS,默认为false
  ]
  ....
]
// 代码中调用
$result = Yii::$app->qiniu->putFile('img/test.jpg', __DIR__.'/test.jpg');
....
// 局部调用
$qiniu = Yii::createObject([
    'class' => 'chocoboxxf\Qiniu\Qiniu',
    'accessKey' => 'Access Key',
    'secretKey' => 'Secret Key',
    'domain' => '七牛域名',
    'bucket' => '空间名',
    'secure' => false, // 是否使用HTTPS,默认为false
]);
$result = $qiniu->putFile('img/test.jpg', __DIR__.'/test.jpg');
....

使用示例

通过路径上传文件

$ret = Yii::$app->qiniu->putFile('img/test.jpg', __DIR__.'/test.jpg');
if ($ret['code'] === 0) {
    // 上传成功
    $url = $ret['result']['url']; // 目标文件的URL地址,如:http://[七牛域名]/img/test.jpg
} else {
    // 上传失败
    $code = $ret['code']; // 错误码
    $message = $ret['message']; // 错误信息
}

通过内容上传文件

$fileData = file_get_contents(__DIR__.'/test.jpg');
$ret = Yii::$app->qiniu->put('img/test.jpg', $fileData);
if ($ret['code'] === 0) {
    // 上传成功
    $url = $ret['result']['url']; // 目标文件的URL地址,如:http://[七牛域名]/img/test.jpg
} else {
    // 上传失败
    $code = $ret['code']; // 错误码
    $message = $ret['message']; // 错误信息
}

获取私有文件下载链接

$fileList = [
    'http://domain/private-file1.jpg',
    'http://domain/private-file2.jpg',
    'http://domain/private-file3.jpg',
];
$urlMaps = Yii::$app->qiniu->batchDownload($fileList);
foreach ($urlMaps as $fileUrl => $downloadUrl) {
    // TODO
}

获取上传凭证

$bucket = 'test_bucket';
$key = null;
$expires = 7200;
$policy = null;
$token = Yii::$app->qiniu->uploadToken($bucket, $key, $expires, $policy);
// TODO