七牛能按照一个bucket下面的某一个prefix来计算大小吗?

七牛没有提供目录,所有的文件都是按照prefix/filename的方式来的,有没有办法能统计某一个prefix下面的所有图片的数据总大小呢?
比如想知道 /upload/user/1/pics/ 这个下面的所有文件大小

阅读 4.2k
2 个回答

直接使用list接口就可以了,会返回每个文件的fsize的。不需要再逐个文件stat了。另外七牛的list接口需要包含qiniu/rsf.php头文件,其他接口需要包含qiniu/rs.php。使用composer安装七牛的php-sdk也只有qiniu/rs.php加入到了autoload里面,qiniu/rsf.php还是需要自己来包含。

$bucket = "***";
$accessKey = "********";
$secretKey = "********";
Qiniu_SetKeys($accessKey, $secretKey);
$client = new Qiniu_MacHttpClient(null);
list($items, $marker,  $err) = Qiniu_RSF_ListPrefix($client, $bucket);
var_dump($items);

七牛目前没有提供直接统计含某个前缀文件的总大小的接口,你可以使用list接口把含有/upload/user/1/pics/的文件列出来,再用stat接口逐条获取文件信息,提取其中的fsize字段,求和一下就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进