快速实现文件上传七牛云空间方法
<?php
/**
* 上传七牛
*
* @author huqitao <[email protected]>
*/
namespace app\extra;
require 'qiniu_sdk/autoload.php'; //引入七牛sdk 文件夹名称啥的自己定
use Qiniu\Auth; //七牛鉴权使用
use Qiniu\Storage\UploadManager; //七牛上传使用
class uploadFile {
protected $domain;
protected $bucket;
protected $token;
const ACCESS_KEY = ''; //七牛参数 自己去找吧
const SECRET_KEY = ''; //七牛参数 自己去找吧
public function __construct($domain, $bucket) {
$this->domain = 'http://'.$domain.'/';
$this->bucket = $bucket;
$auth = new Auth(self::ACCESS_KEY, self::SECRET_KEY);
// 生成上传Token
$this->token = $auth->uploadToken($bucket);
}
/**
* 上传
* @param array $file 图片参数
* @return array
*/
public function uploadOne($file) {
// 构建 UploadManager 对象
$uploadMgr = new UploadManager();
list($ret, $err) = $uploadMgr->putFile($this->token, $file['name'], $file['tmp_name']);
if ($err !== null) {
return ['err' => 1, 'msg' => $err, 'data' => ''];
} else {
//返回图片的完整URL
return ['err' => 0, 'msg' => '上传完成', 'data' => ($this->domain . $ret['key'])];
}
}
}