@@ -73,7 +73,7 @@ public function listbuckets(
7373 *
7474 * @return mixed 成功返回NULL,失败返回对象Qiniu\Http\Error
7575 */
76- public function creatBucket ($ name , $ region = 'z0 ' )
76+ public function createBucket ($ name , $ region = 'z0 ' )
7777 {
7878 $ path = '/mkbucketv2/ ' .$ name .'/region/ ' . $ region ;
7979 return $ this ->rsPost ($ path , null );
@@ -172,6 +172,53 @@ public function listFiles(
172172 return $ this ->get ($ url );
173173 }
174174
175+ /**
176+ * 列取空间的文件列表
177+ *
178+ * @param $bucket 空间名
179+ * @param $prefix 列举前缀
180+ * @param $marker 列举标识符
181+ * @param $limit 单次列举个数限制
182+ * @param $delimiter 指定目录分隔符
183+ * @param $skipconfirm 是否跳过已删除条目的确认机制
184+ *
185+ * @return array 包含文件信息的数组,类似:[
186+ * {
187+ * "hash" => "<Hash string>",
188+ * "key" => "<Key string>",
189+ * "fsize" => "<file size>",
190+ * "putTime" => "<file modify time>"
191+ * },
192+ * ...
193+ * ]
194+ * @link http://developer.qiniu.com/docs/v6/api/reference/rs/list.html
195+ */
196+ public function listFilesv2 (
197+ $ bucket ,
198+ $ prefix = null ,
199+ $ marker = null ,
200+ $ limit = 1000 ,
201+ $ delimiter = null ,
202+ $ skipconfirm = true
203+ ) {
204+ $ query = array ('bucket ' => $ bucket );
205+ \Qiniu \setWithoutEmpty ($ query , 'prefix ' , $ prefix );
206+ \Qiniu \setWithoutEmpty ($ query , 'marker ' , $ marker );
207+ \Qiniu \setWithoutEmpty ($ query , 'limit ' , $ limit );
208+ \Qiniu \setWithoutEmpty ($ query , 'delimiter ' , $ delimiter );
209+ \Qiniu \setWithoutEmpty ($ query , 'skipconfirm ' , $ skipconfirm );
210+ $ path = '/v2/list? ' . http_build_query ($ query );
211+ $ url = $ this ->getRsfHost () . $ path ;
212+ $ headers = $ this ->auth ->authorization ($ url , null , 'application/x-www-form-urlencoded ' );
213+ $ ret = Client::post ($ url , null , $ headers );
214+ if (!$ ret ->ok ()) {
215+ return array (null , new Error ($ url , $ ret ));
216+ }
217+ $ r = explode ("\n" , $ ret ->body );
218+ $ pop = array_pop ($ r );
219+ return array ($ r , null );
220+ }
221+
175222 /**
176223 * 设置Referer防盗链
177224 *
@@ -539,6 +586,40 @@ public function putBucketAccessStyleMode($bucket, $mode)
539586 return $ info ;
540587 }
541588
589+ /**
590+ * 设置私有属性
591+ * private为0表示公开,为1表示私有
592+ */
593+ public function putBucketAccessMode ($ bucket , $ private )
594+ {
595+ $ path = '/bucket/ ' . $ bucket . '/private/ ' . $ private ;
596+ $ info = $ this ->ucPost ($ path , null );
597+ return $ info ;
598+ }
599+
600+ /**
601+ * 设置referer防盗链
602+ * bucket=<BucketName>: bucket 名
603+ * mode=<AntiLeechMode>:
604+ * 0: 表示关闭Referer(使用此选项将会忽略以下参数并将恢复默认值);
605+ * 1: 表示设置Referer白名单; 2: 表示设置Referer黑名单
606+ * norefer=<NoRefer>: 0: 表示不允许空 Refer 访问;
607+ * 1: 表示允许空 Refer 访问
608+ * pattern=<Pattern>: 规则字符串, 当前允许格式分为三种:
609+ * 一种为空主机头域名, 比如 foo.com;
610+ * 一种是泛域名, 比如 *.bar.com; 一种是完全通配符, 即一个 *;
611+ * 多个规则之间用;隔开, 比如: foo.com;*.bar.com;sub.foo.com;*.sub.bar.com
612+ * 空主机头域名可以是多级域名,比如 foo.bar.com。
613+ * 多个域名之间不允许夹带空白字符。
614+ * source_enabled=:1
615+ */
616+ public function putReferAntiLeech ($ bucket , $ mode , $ norefer , $ pattern , $ source_enabled =1 )
617+ {
618+ $ path = "/referAntiLeech?bucket= $ bucket&mode= $ mode&norefer= $ norefer&pattern= $ pattern&source_enabled= $ source_enabled " ;
619+ $ info = $ this ->ucPost ($ path , null );
620+ return $ info ;
621+ }
622+
542623 /**
543624 * 设置Bucket的maxAge
544625 * maxAge为0或者负数表示为默认值(31536000)
0 commit comments