-
Notifications
You must be signed in to change notification settings - Fork 0
基本用法
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'];
}