3.5.1 扩展类库:七牛云存储接口调用

此扩展可用于将图片上传到七牛云存储,或者七牛提供的其他功能。

3.5.2 安装和配置

(1)扩展包下载

PhalApi-Library 扩展库中下载获取 Qiniu 七牛扩展包,如使用:

  1. $ git clone https://git.oschina.net/dogstar/PhalApi-Library.git

然后把 Qiniu 目录复制到 ./PhalApi/Library/ 下,即:

  1. $ cp ./PhalApi-Library/Qiniu/ ./PhalApi/Library/ -R

到此安装完毕!接下是插件的配置。

(2)扩展包配置

我们需要在 ./Config/app.php 配置文件中追加以下配置:

  1. /**
  2. * 七牛相关配置
  3. */
  4. 'Qiniu' => array(
  5. //统一的key
  6. 'accessKey' => '*****',
  7. 'secretKey' => '****',
  8. //自定义配置的空间
  9. 'space_bucket' => '自定义配置的空间',
  10. 'space_host' => 'http://XXXXX.qiniudn.com',
  11. ),

你也可以不使用配置文件,直接在初始化注册DI()->qiniu时指定配置。

3.5.3 入门使用

(1)入口注册

  1. //$ vim ./Public/init.php
  2. // 其他代码....
  3. DI()->qiniu = new Qiniu_Lite();

根据上面所说的,你可以也可以指定配置。

  1. //$ vim ./Public/init.php
  2. // 其他代码....
  3. $qiniuConfig = array( /* 格式参照配置文件 *);
  4. DI()->qiniu = new Qiniu_Lite($qiniuConfig);

3.5.4 示例:图片上传

(1)模拟客户端

先简单写个测试文件:

  1. // vim ./Public/test_qiniu.html
  2. <html>
  3. <form method="POST" action="/demo/?service=Qiniu_CDN.uploadFile" enctype="multipart/form-data">
  4. <input type="file" name="file">
  5. <input type="submit">
  6. </form>
  7. </html>

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

(2)文件上传接口

随后,我们使用此七牛扩展提供的编写文件上传接口,通过查看在线接口文档,可以看到:[3.5] 扩展类库:七牛云存储接口调用 - 图2

(3)运行一下:

缺少上传文件时:

  1. {"ret":200,"data":{"code":1,"url":"","msg":"miss upload file"},"msg":""}

上传失败时:

  1. {"ret":200,"data":{"code":2,"url":"","msg":"fail to upload file"},"msg":""}

可以看到对应的日记(如果不想看到此日记,可通过在初始化日记服务时去掉调试日记):

  1. 2015-03-18 00:07:02|DEBUG|failed to upload file to qiniu|{"Err":"bad token","Reqid":"u1EAAG73DB3PVMwT","Details":"","Code":401}

上传成功时:

  1. {"ret":200,"data":{"code":0,"url":"图片链接","msg":""},"msg":""}

原文: https://www.phalapi.net/wikis/3-5.html