七牛云 php sdk 安装,ThinkPHP5.0安装七牛云扩展

composer安装七牛SDK

composer require qiniu/php-sdk

config文件保存七牛云配置信息

//七牛云空间配置

'qiniu' => [

'AccessKey' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',

'SecretKey' => 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy',

'bucket' => 'zzzzz',

'domain' => 'demo.domain.net/'

]

创建Qiniu Model,实现上传功能

/**

* Created by PhpStorm.

* User: zgcli

* Date: 2019/2/12

* Time: 16:32

*/

namespace app\admin\model;

use think\Model;

use Qiniu\Auth;

use Qiniu\Storage\UploadManager;

class Qiniu extends Model

{

private $AccessKey;

private $SecretKey;

private $bucket;

private $auth;

function __construct()

{

parent::__construct();

$this->AccessKey = config('qiniu.AccessKey');

$this->SecretKey = config('qiniu.SecretKey');

$this->bucket = config('qiniu.bucket');

vendor('qiniu.php-sdk.autoload');

$this->auth = new Auth($this->AccessKey, $this->SecretKey);

}

/**

* @description 七牛上传文件

* @param string $fileName 上传文件的name值

* @param string $bucket 上传至七牛的指定空间

* @return array 上传结果信息

*/

public function upload($fileName = '', $bucket = '')

{

//文件获取、处理

$file = request()->file($fileName);

// 上传文件的本地路径

$filePath = $file->getRealPath();

//文件后缀

$extension = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);

//获取七牛token

$bucket = empty($bucket) ? $this->bucket : $bucket;

$token = $this->auth->uploadToken($bucket);

//上传到七牛后保存的文件名

$key = time() . rand(0, 9999) . '.' . $extension;

//初始化UploadManager对象

$uploadManager = new UploadManager();

//文件上传

list($result, $error) = $uploadManager->putFile($token, $key, $filePath);

if ($error !== null) {

return ['errNo' => 1, 'errMsg' => $error, 'data' => $this->SecretKey];

} else {

return ['errNo' => 0, 'data' => ['bucket' => $this->bucket, 'key' => $key, 'url' => config('qiniu.domain').$key]];

}

}

/**

* 获取私有空间或使用了原图保护功能的图片文件地址

* @param string $url 格式:http://domain/key[文件名]?e=时间戳

* @return string 可访问的url地址:http://domain/key[文件名]?e=时间戳&token='token'

*/

public function getSignedUrl($url)

{

$signedUrl = $this->auth->privateDownloadUrl($url);

//该url地址需要验证是否可访问。

return $signedUrl;

}

}

测试上传功能

Controller:

public function test()

{

if ($this->request->isPost()) {

$qiniu = new \app\admin\model\Qiniu();

$data = $qiniu->upload('imgFile');

var_dump($data);

}

return $this->view->fetch();

}

View:

测试七牛云上传
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值