Skip to content
Jerry Bendy edited this page Apr 27, 2016 · 1 revision

初始化

把"qiniu.php"连同"qiniu_includes"文件夹一同拷贝到您的项目目录(推荐Libraries目录),包含 类库的主入口文件并实例化一个$qiniu对象。

require 'qiniu.php';

$conf = array(
    'ak' => 'ACCESS KEY', //必须,请输入您的ACCESS KEY
    'sk' => 'SECRECT KEY', //必须,请输入您的SECRECT KEY
    'bucket' => 'BUCKET NAME', //可选,您的空间名(建议填写)
    'auth' => 'public', //可选,空间的访问权限,公开还是私有,默认为公开
    'domain' => '自定义域名' //可选,空间设置的自定义域名,在有导出URL的时候会自动应用该域名
    );
$qiniu = new Qiniu($conf);

//获取文件信息的操作
$ret = $qiniu->rs->stat('abc.jpg');
var_dump($ret);

类Qiniu的构造函数接受一个包含配置信息的数组,数组中必须用“ak”和"sk“来指定您的ACCESS KEY 和 SECRECT KEY。

构造函数的参数Bucket是可选的,这意味着您可以在调用函数时手动指定被操作的空间,而不局限于使用默认的空间来操作,这在跨空间的文件管理操作中会显得非常有用。

//CI(CodeIgniter)中加载类库的方法
$conf = array(
    'ak' => 'ACCESS KEY', 
    'sk' => 'SECRECT KEY', 
    'bucket' => 'BUCKET NAME', 
    'auth' => 'public', 
    'domain' => '自定义域名'
    };
$this->load->library('qiniu', $conf);

//获取文件信息的操作
$ret = $this->qiniu->rs->stat('abc.jpg');
var_dump($ret);

基本输出

类库中除了有些直接返回生成URL的函数(如get_url等)外,基本上都是返回一个Qiniu_response对象,对象中包含的内容如下:

通常情况下在判断返回值为OK时即可用 $ret->data 来获取真正的返回内容。

object(Qiniu_response)#5 (6) {
  ["code"]=>int(200)
  ["body"]=>string(106) "{"fsize":122861,"hash":"Fhf2UiLBUz_8eJamHQ2VaXc1wLQM","mimeType":"image/jpeg","putTime":14082922036310155}"
  ["headers"]=>
  array(8) {
    ["server"]=>
    string(11) "nginx/1.4.4"
    ["date"]=>
    string(19) "Sun, 17 Aug 2014 16"
    ["content-type"]=>
    string(16) "application/json"
    ["content-length"]=>
    string(3) "106"
    ["connection"]=>
    string(10) "keep-alive"
    ["cache-control"]=>
    string(8) "no-store"
    ["x-log"]=>
    string(21) "rs6_2.sel;qtbl.get;RS"
    ["x-reqid"]=>
    string(16) "dxsAAHLccP4PQ4sT"
  }
  ["message"]=>
  string(2) "OK"
  ["protocol"]=>
  string(8) "HTTP/1.1"
  ["data"]=>
  array(4) {
    ["fsize"]=>
    int(122861)
    ["hash"]=>
    string(28) "Fhf2UiLBUz_8eJamHQ2VaXc1wLQM"
    ["mimeType"]=>
    string(10) "image/jpeg"
    ["putTime"]=>
    float(1.408292203631E+16)
  }
}

推荐的使用方法

对于返回内容推荐使用 is_OK()函数来判断是否执行成功。执行成功时 $ret->data即为七牛服务器返回的JSON解析后的数组,$ret->body为JSON原始数据。具体服务器可能返回哪些信息请参考七牛的官方文档。

请求失败时会设置 $ret->data['error']为错误信息。

$ret = $qiniu->rs->stat('abc.jpg');
if($ret->is_OK()){
    $data = $ret->data;
    $fileSize = $data['fsize'];
}