搜索
系统检测到您的用户名不符合规范:

ThinkPHP3.2整合七牛云第三方sdk

浏览:7908 发布日期:2017年02月28日 分类:功能实现 关键字: ThinkPHP3.2 七牛云
ThinkPHP3.2整合七牛云最新第三方sdk,版本Release v7.1.3
感觉ThinkPHP对第三方的sdk的支持不是特别友好,这次使用七牛云sdk时就是这个问题,虽然ThinkPHP有自带的七牛上传驱动,但是肯定不如七牛自己更新的sdk好,毕竟是很久之前的版本了。
想使用ThinkPHP自带的七牛云可以参考我的另外一篇文章:http://www.thinkphp.cn/topic/46397.html
下面说一下如何整合新版七牛云sdk
第一步,注册七牛云,创建空间,下载sdk这些就不说了
第二步,修改七牛云sdk文件的命名格式和sdk文件里面的命名空间
这里有一个小问题还望高手给予指点
因为七牛云sdk也使用了命名空间,但是文件命名不符合ThinkPHP的规范,这种情况该放到哪里呢?
目前我有两种做法
一种是直接放到项目的Application目录下,这样可以直接修改文件命名就好,不用修改sdk文件里面的命名空间
另外一种是放到项目的Application\Tool目录下(所有的第三方类都放到这个目录下),不过这样的缺点就是修改七牛云sdk文件的命名格式和sdk文件里面的命名空间(吐槽一下,还好七牛云sdk文件不算太多,不然一个个修改也是一个大工程,如果有高手有更好的方法欢迎指点)
第三步,调用sdk
分为两种调用方法,请大家自行选择//use \Qiniu\Auth;
//use \Qiniu\Storage\UploadManager;
use \Tool\Qiniu\Auth;
use \Tool\Qiniu\Storage\UploadManager;

public function uploadQiNiu(){
//import('Qiniu.functions');
import('Tool.Qiniu.functions');

// 用于签名的公钥和私钥
$accessKey = '**';
$secretKey = '**';

// 初始化签权对象
$auth = new Auth($accessKey, $secretKey);

// 空间名 https://developer.qiniu.io/kodo/manual/concepts
$bucket = 'bucket-name';
// 生成上传Token
$token = $auth->uploadToken($bucket);
echo $token;exit;
// 构建 UploadManager 对象
$uploadMgr = new UploadManager();
// 上传文件到七牛
$filePath = './php-logo.png';
$key = 'php-logo.png';
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
echo "\n====> putFile result: \n";
if ($err !== null) {
var_dump($err);
} else {
var_dump($ret);
}
}
附件里面共享我已经修改好的sdk文件,版本Release v7.1.3

附件 demo.rar ( 41.13 KB 下载:803 次 )

评论() 相关
收藏
baikeliang
积分:512 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /