上一章 文档首页 下一章


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>

效果如下(通常是提供给客户端上传的):
p

(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":""}

上一章 文档首页 下一章

还有疑问?欢迎到社区提问!

Fork me on GitHub