Esempio n. 1
0
 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));
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
} 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
Esempio n. 4
0
 /**
  * 输出上传列表
  *
  * @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;
 }
Esempio n. 5
0
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;
        }
Esempio n. 6
0
 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;
 }