七牛 for ThinkPHP 正确使用及全功能开放
来源:互联网 发布:java listfiles 排序 编辑:程序博客网 时间:2024/06/07 23:54
正确使用thinkPHP和七牛对接,包括管理七牛图片的接口(删除,查询),这里只说明3.2.x版本。
(这句是废话,请略过-->>)本屌丝最近好像不是很忙的样子,所以总是想着造福人类什么的,于是乎就又搞起来了。
一、正确使用ThinkPHP七牛引擎:
其实这个在文档上已经写了,而且给出了ftp上传类的使用例子,但是还有很多人在问。
代码如下:
OK,可以上传到七牛了,但是如何删除呢? 好像ThinkPHP并没有给到这个接口。但是我们可以在QiniuStorage.class.php文件中已经把所有的接口都已经写得差不多了,只是没有开放出来。刚开始为了我只是需要删除图片,然后一层一层的把del方法放出来。然后用 $Upload->del($file); 方式来使用。但是后来需要的接口太多了,写这么多太麻烦了,于是乎代码就这样来了->->->->->
第一步:打开文件 TinkPHP/Library/Think/Upload.class.php 在文件类的最后面加入一下代码
(这句是废话,请略过-->>)本屌丝最近好像不是很忙的样子,所以总是想着造福人类什么的,于是乎就又搞起来了。
一、正确使用ThinkPHP七牛引擎:
其实这个在文档上已经写了,而且给出了ftp上传类的使用例子,但是还有很多人在问。
代码如下:
- $config = array(
- 'maxSize' => 5*1024*1024,
- 'rootPath' => './Uploads/',
- 'savePath' => '',
- 'saveName' => array('uniqid',''),
- 'exts' => array('jpg', 'gif', 'png', 'jpeg'),
- 'autoSub' => true,
- 'subName' => array('date','Ymd'),
- );
- //这里$config的设置就不哆嗦了,看文档吧
- $config_qiniu=array(
- 'accessKey' => 'aaaabbbbb', //这里填七牛AK
- 'secrectKey' => 'ccccddddd', //这里填七牛SK
- 'domain' => 'mackes.qiniudn.com',//这里是查看七牛图片时的图片链接地址的域名
- 'bucket' => 'webFirst'//这里是七牛中的“空间”
- );
- //这里的$config_qiniu 可以在全局配置中设置,然后例如这样 $config_qiniu=C('QINIU_CONFIG'); 来调取
- $Upload = new \Think\Upload($config,'Qiniu',$config_qiniu);
- //好了,然后我们就可以很简单的使用了,如下:
- $Upload->uploadOne($_FILES['Pic']); //这里是Form表单提交
复制代码
有人已经写过这部分了,但是我怎么都没有搞通过,这个是确实可以的,不关你信不信,反正我信了。OK,可以上传到七牛了,但是如何删除呢? 好像ThinkPHP并没有给到这个接口。但是我们可以在QiniuStorage.class.php文件中已经把所有的接口都已经写得差不多了,只是没有开放出来。刚开始为了我只是需要删除图片,然后一层一层的把del方法放出来。然后用 $Upload->del($file); 方式来使用。但是后来需要的接口太多了,写这么多太麻烦了,于是乎代码就这样来了->->->->->
第一步:打开文件 TinkPHP/Library/Think/Upload.class.php 在文件类的最后面加入一下代码
- public function __call($fun,$arg){
- return call_user_func(array($this->uploader,$fun), $arg);
- }
复制代码
第二步:打开文件 TinkPHP/Library/Think/Upload/Driver/Qiniu.class.php 在文件类的最后面加入一下代码
- public function __call($fun='',$arg=array()){
- if(method_exists($this->qiniu,$fun)){
- return call_user_func(array($this->qiniu,$fun), $arg[0]);
- }else{
- return 'no qiniu function of '.$fun;
- }
- }
复制代码
好了,这样我们就可以简单调用 QiniuStorage 中的所有方法了。如:
- //配置看第一块代码
- $Upload = new \Think\Upload($config,'Qiniu',$config_qiniu);
- $Upload->del($file);//$file是图片的名字
- $Upload->getList($query,$path);//$query是参数数组,可以看七牛官方API文档,$path.......看文档,没用过。
- //还有等等等等方法。就是这样变简单了。
复制代码
我这里主要用了魔术方法 __call 要了解这个的请百度。主要是我这么个屌丝写法会不会破坏了ThinkPHP本身的架构规范呢?请高手指点(PS:不要骂我) 0 0
- 七牛 for ThinkPHP 正确使用及全功能开放
- ThinkPHP的使用(七)验证码的使用,及Ajax验证
- 七牛robots正确写法
- 微信小程序的wx:for,wx:for-items,wx:for-item,wx:key等的关系及正确使用
- ThinkPHP中引入七牛SDK
- 硬盘正确使用及维护
- ThinkPHP 的模型使用详细介绍--模型的核心(七)
- ThinkPHP Session 使用详解及实例
- ThinkPHP--数据库连接及model模型定义使用
- ThinkPHP--聚合函数及having使用细节
- ThinkPHP框架总结之基础及使用
- ThinkPHP框架总结之配置及使用
- ThinkPHP框架总结之安全及使用
- ThinkPHP框架总结之缓存及使用
- ThinkPHP框架总结之安全及使用
- 高性能MySql进化论(七):正确的使用索引
- 高性能MySql进化论(七):正确的使用索引
- 高性能MySql进化论(七):正确的使用索引
- 51Nod-冰雕(暴力)
- HDU 5826 微分方程
- 特朗普的胜利——美国的民主不是我们想象的政治
- Android性能优化学习(一)内存泄漏
- 冒泡排序法
- 七牛 for ThinkPHP 正确使用及全功能开放
- 装配Bean(四)
- 蓝桥杯 地宫取宝
- 上课编程练习1
- Linux中正则表达式的应用
- KMP基础
- PHP使用PHPMailer类发送邮件
- 大数据(二)
- 笔记