public function testListPrefix() { echo $this->bucket; list($items, $markerOut, $err) = Qiniu_RSF_ListPrefix($this->client, $this->bucket); $this->assertEquals($err, Qiniu_RSF_EOF); $this->assertEquals($markerOut, ''); list($items, $markerOut, $err) = Qiniu_RSF_ListPrefix($this->client, $this->bucket, '', '', 1); $this->assertFalse($markerOut === ''); list($items, $markerOut, $err) = Qiniu_RSF_ListPrefix($this->client, $this->bucket, $this->key); $this->assertLessThanOrEqual(1, count($items)); }
protected function listDirContents($directory, $start = '') { list($item, $marker, $err) = Qiniu_RSF_ListPrefix($this->getClient(), $this->bucket, $directory, $start); if ($err !== 'EOF') { $start = $marker; $item = array_merge($item, $this->listDirContents($directory, $start)); } return $item; }
} else { var_dump($ret); } # @endgist # @gist batch_move $entryPairs = array(new Qiniu_RS_EntryPathPair($e3, $e1)); list($ret, $err) = Qiniu_RS_BatchMove($client, $entryPairs); echo "\n\n====> Qiniu_RS_BatchMove result: \n"; if ($err !== null) { var_dump($err); } else { var_dump($ret); } # @endgist //------------------------------------rsf----------------------------------------- list($iterms, $markerOut, $err) = Qiniu_RSF_ListPrefix($client, $bucket); echo "\n\n====> Qiniu_RSF result: \n"; if ($err != null) { if ($err === Qiniu_RSF_EOF) { var_dump($iterms); } else { var_dump(err); } } else { var_dump($iterms); } //------------------------------------fop----------------------------------------- # @gist base_url //$baseUrl 就是您要访问资源的地址 $baseUrl = Qiniu_RS_MakeBaseUrl($domain, $key1); # @endgist
/** * 输出上传列表 * * @access public * @return void */ public static function filelist() { $settings = Helper::options()->plugin('HighSlide'); $db = Typecho_Db::get(); $filedata = self::filedata(); $fileurl = $filedata->url; $filedir = $filedata->dir; //获取对比数据 $urls = $db->fetchAll($db->select('image', 'thumb')->from('table.gallery')); $images = array(); $thumbs = array(); foreach ($urls as $url) { $images[] = $url['image']; $thumbs[] = $url['thumb']; } //获取本地列表 if ($settings->storage == 'local') { $lists = glob($filedir . '*[0-9].{gif,jpg,jpeg,png,tiff,bmp,GIF,JPG,JPEG,PNG,TIFF,BMP}', GLOB_BRACE | GLOB_NOSORT); foreach ($lists as $list) { $datas[] = array('key' => $list, 'fsize' => filesize($list)); } } //获取七牛列表 if ($settings->storage == 'qiniu') { self::qiniuset($settings->qiniuaccesskey, $settings->qiniusecretkey); $client = new Qiniu_MacHttpClient(null); list($result, $error) = Qiniu_RSF_ListPrefix($client, $settings->qiniubucket, $filedir); if ($error == null) { $datas = $result; } } //获取又拍云列表 if ($settings->storage == 'upyun') { $upyun = self::upyunset(); $lists = $upyun->getList($filedir); foreach ($lists as $list) { $datas[] = array('key' => $list['name'], 'fsize' => $list['size']); } } //获取百度BCS列表 if ($settings->storage == 'bcs') { $bcs = self::bcsset(); $result = $bcs->list_object($settings->bcsbucket, array('prefix' => $filedir)); if ($result->isOK()) { $decode = json_decode($result->body, true); $lists = $decode['object_list']; foreach ($lists as $list) { $datas[] = array('key' => $list['object'], 'fsize' => $list['size']); } } } //重构处理排序 if (!empty($datas)) { foreach ($datas as $data) { $name = basename($data['key']); $keyname = strpos($data['key'], 'thumb_') ? substr($name, 6, 5) + 1 : substr($name, 0, 5); $files['' . $keyname . ''] = $data; } } if (empty($files)) { return false; } ksort($files); $filelist = array(); $id = 0; foreach ($files as $file) { $filename = basename($file['key']); $filesize = number_format(ceil($file['fsize'] / 1024)); //过滤输出结果 if (!in_array($fileurl . $filename, $images) && !in_array($fileurl . $filename, $thumbs)) { $filelist[] = array('id' => $id++, 'name' => $filename, 'size' => $filesize); } } return $filelist; }
error_reporting(E_ERROR | E_WARNING); require_once "conf.php"; require_once "imageManger.php"; $client = new Qiniu_MacHttpClient(null); $result = array(); $data = Qiniu_RSF_ListPrefix($client, $BUCKET, '', '', 5); foreach ($data[0] as $key => $value) { array_push($result, array($value["key"], $value["putTime"])); } do { if ($data[1] == "") { $marker = ''; } else { $marker = $data[1]; } $data = Qiniu_RSF_ListPrefix($client, $BUCKET, '', $marker, 5); if ($marker != "") { foreach ($data[0] as $key => $value) { array_push($result, array($value["key"], $value["putTime"])); } } } while ($data[1] != ""); $len = count($result); //冒泡按时间排序 for ($i = 1; $i < $len; $i++) { for ($j = $len - 1; $j >= $i; $j--) { if ($result[$j][1] < $result[$j - 1][1]) { $x = $result[$j]; $result[$j] = $result[$j - 1]; $result[$j - 1] = $x; }
public function deleteFolder(&$client, $path, $limit = '100', $marker = '') { static $objects = array(); $arr = self::parsePath($path); //echo( $path.'---------'); list($commonPrefixes, $iterms, $markerOut, $err) = Qiniu_RSF_ListPrefix($client, $arr['bucket'], $arr['object'], $marker, '', $limit); if ($err != null) { if ($err === Qiniu_RSF_EOF) { $data['items'] = $iterms; } else { runlog('qiniu_log', $err->Code . ':' . $err->Err); return array('error' => $err->Code . ':' . $err->Err); } } else { $data['items'] = $iterms; } if ($data['items']) { $icos = $data['items']; } $value = array(); $entries = array(); foreach ($icos as $key => $value) { if (is_array($value)) { $entries[] = new Qiniu_RS_EntryPath($arr['bucket'], $value['key']); //Qiniu_RS_Delete($client, $arr['bucket'],$value['key']); } else { $entries[] = new Qiniu_RS_EntryPath($arr['bucket'], $value); //Qiniu_RS_Delete($client, $arr['bucket'],$value); } } Qiniu_RS_BatchDelete($client, $entries); if ($markerOut) { self::deleteFolder($client, $path, 100, $markerOut); } return true; }