首页 > php教程 > php手册 > 正文

七牛 for ThinkPHP 正确使用及全功能开放

php中文网
发布: 2016-06-07 11:36:38
原创
1384人浏览过

正确使用thinkPHP和七牛对接,包括管理七牛图片的接口(删除,查询),这里只说明3.2.x版本。
(这句是废话,请略过-->>)本屌丝最近好像不是很忙的样子,所以总是想着造福人类什么的,于是乎就又搞起来了。
一、正确使用ThinkPHP七牛引擎:
其实这个在文档上已经写了,而且给出了ftp上传类的使用例子,但是还有很多人在问。
代码如下:            $config = array(<br>                     'maxSize'    =&gt;   5*1024*1024,<br>                     'rootPath'   =&gt;    './Uploads/',<br>                     'savePath'   =&gt;    '',<br>                     'saveName'   =&gt;    array('uniqid',''),<br>                     'exts'       =&gt;    array('jpg', 'gif', 'png', 'jpeg'),<br>                     'autoSub'    =&gt;    true,<br>                     'subName'    =&gt;    array('date','Ymd'),<br>             );<br>             //这里$config的设置就不哆嗦了,看文档吧<br>             $config_qiniu=array(<br>                 'accessKey' =&gt; 'aaaabbbbb', //这里填七牛AK<br>                 'secrectKey' =&gt; 'ccccddddd', //这里填七牛SK<br>                 'domain' =&gt; 'mackes.qiniudn.com',//这里是查看七牛图片时的图片链接地址的域名<br>                 'bucket' =&gt; 'webFirst'//这里是七牛中的“空间”<br>             );<br>             //这里的$config_qiniu 可以在全局配置中设置,然后例如这样 $config_qiniu=C('QINIU_CONFIG'); 来调取<br>             <br>             $Upload = new \Think\Upload($config,'Qiniu',$config_qiniu);<br>             //好了,然后我们就可以很简单的使用了,如下:<br>             $Upload-&gt;uploadOne($_FILES['Pic']);  //这里是Form表单提交有人已经写过这部分了,但是我怎么都没有搞通过,这个是确实可以的,不关你信不信,反正我信了。

OK,可以上传到七牛了,但是如何删除呢? 好像ThinkPHP并没有给到这个接口。但是我们可以在QiniuStorage.class.php文件中已经把所有的接口都已经写得差不多了,只是没有开放出来。刚开始为了我只是需要删除图片,然后一层一层的把del方法放出来。然后用 $Upload->del($file); 方式来使用。但是后来需要的接口太多了,写这么多太麻烦了,于是乎代码就这样来了->->->->->

第一步:打开文件 TinkPHP/Library/Think/Upload.class.php 在文件类的最后面加入一下代码        public function __call($fun,$arg){<br>             return call_user_func(array($this-&gt;uploader,$fun), $arg);<br>         }第二步:打开文件 TinkPHP/Library/Think/Upload/Driver/Qiniu.class.php 在文件类的最后面加入一下代码        public function __call($fun='',$arg=array()){<br>             if(method_exists($this-&gt;qiniu,$fun)){<br>                 return call_user_func(array($this-&gt;qiniu,$fun), $arg[0]);<br>             }else{<br>                 return 'no qiniu function of '.$fun;<br>             }<br>         }好了,这样我们就可以简单调用 QiniuStorage 中的所有方法了。如:        //配置看第一块代码<br>         $Upload = new \Think\Upload($config,'Qiniu',$config_qiniu);<br>         $Upload-&gt;del($file);//$file是图片的名字<br>         $Upload-&gt;getList($query,$path);//$query是参数数组,可以看七牛官方API文档,$path.......看文档,没用过。<br>         //还有等等等等方法。就是这样变简单了。我这里主要用了魔术方法 __call 要了解这个的请百度。主要是我这么个屌丝写法会不会破坏了ThinkPHP本身的架构规范呢?请高手指点(PS:不要骂我)



AD:真正免费,域名+虚机+企业邮箱=0元

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号