3.5.1 扩展类库:七牛云存储接口调用
此扩展可用于将图片上传到七牛云存储,或者七牛提供的其他功能。
3.5.2 安装和配置
(1)扩展包下载
从 PhalApi-Library 扩展库中下载获取 Qiniu 七牛扩展包,如使用:
$ git clone https://git.oschina.net/dogstar/PhalApi-Library.git
然后把 Qiniu 目录复制到 ./PhalApi/Library/ 下,即:
$ cp ./PhalApi-Library/Qiniu/ ./PhalApi/Library/ -R
到此安装完毕!接下是插件的配置。
(2)扩展包配置
我们需要在 ./Config/app.php 配置文件中追加以下配置:
/**
* 七牛相关配置
*/
'Qiniu' => array(
//统一的key
'accessKey' => '*****',
'secretKey' => '****',
//自定义配置的空间
'space_bucket' => '自定义配置的空间',
'space_host' => 'http://XXXXX.qiniudn.com',
),
你也可以不使用配置文件,直接在初始化注册DI()->qiniu时指定配置。
3.5.3 入门使用
(1)入口注册
//$ vim ./Public/init.php
// 其他代码....
DI()->qiniu = new Qiniu_Lite();
根据上面所说的,你可以也可以指定配置。
//$ vim ./Public/init.php
// 其他代码....
$qiniuConfig = array( /* 格式参照配置文件 *);
DI()->qiniu = new Qiniu_Lite($qiniuConfig);
3.5.4 示例:图片上传
(1)模拟客户端
先简单写个测试文件:
// vim ./Public/test_qiniu.html
<html>
<form method="POST" action="/demo/?service=Qiniu_CDN.uploadFile" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
</html>
效果如下(通常是提供给客户端上传的):
(2)文件上传接口
随后,我们使用此七牛扩展提供的编写文件上传接口,通过查看在线接口文档,可以看到:
(3)运行一下:
缺少上传文件时:
{"ret":200,"data":{"code":1,"url":"","msg":"miss upload file"},"msg":""}
上传失败时:
{"ret":200,"data":{"code":2,"url":"","msg":"fail to upload file"},"msg":""}
可以看到对应的日记(如果不想看到此日记,可通过在初始化日记服务时去掉调试日记):
2015-03-18 00:07:02|DEBUG|failed to upload file to qiniu|{"Err":"bad token","Reqid":"u1EAAG73DB3PVMwT","Details":"","Code":401}
上传成功时:
{"ret":200,"data":{"code":0,"url":"图片链接","msg":""},"msg":""}