Qiniu\Storage\BucketManager::listFiles PHP Method

listFiles() public method

列取空间的文件列表
public listFiles ( $bucket, $prefix = null, $marker = null, $limit = 1000, $delimiter = null ) : array
$bucket 空间名
$prefix 列举前缀
$marker 列举标识符
$limit 单次列举个数限制
$delimiter 指定目录分隔符
return array 包含文件信息的数组,类似:[ { "hash" => "", "key" => "", "fsize" => "", "putTime" => "" }, ... ]
    public function listFiles($bucket, $prefix = null, $marker = null, $limit = 1000, $delimiter = null)
    {
        $query = array('bucket' => $bucket);
        \Qiniu\setWithoutEmpty($query, 'prefix', $prefix);
        \Qiniu\setWithoutEmpty($query, 'marker', $marker);
        \Qiniu\setWithoutEmpty($query, 'limit', $limit);
        \Qiniu\setWithoutEmpty($query, 'delimiter', $delimiter);
        $url = Config::RSF_HOST . '/list?' . http_build_query($query);
        list($ret, $error) = $this->get($url);
        if ($ret === null) {
            return array(null, null, $error);
        }
        $marker = array_key_exists('marker', $ret) ? $ret['marker'] : null;
        return array($ret['items'], $marker, null);
    }

Usage Example

 public function getList()
 {
     $size = $this->request->get('size', $this->listSize);
     $start = $this->request->get('start', '');
     $auth = new Auth(config('ueditor.core.qiniu.accessKey'), config('ueditor.core.qiniu.secretKey'));
     $bucketManager = new BucketManager($auth);
     list($items, $marker, $error) = $bucketManager->listFiles(config('ueditor.core.qiniu.bucket'), $this->path, $start, $size);
     if ($error) {
         return ["state" => $error->message(), "list" => array(), "start" => $start, "total" => 0];
     }
     if (empty($items)) {
         return ["state" => "no match file", "list" => array(), "start" => $start, "total" => 0];
     }
     $files = [];
     foreach ($items as $v) {
         if (preg_match("/\\.(" . $this->allowFiles . ")\$/i", $v['key'])) {
             $files[] = array('url' => rtrim(config('ueditor.core.qiniu.url'), '/') . '/' . $v['key'], 'mtime' => $v['mimeType']);
         }
     }
     if (empty($files)) {
         return ["state" => "no match file", "list" => array(), "start" => $start, "total" => 0];
     }
     /* 返回数据 */
     $result = ["state" => "SUCCESS", "list" => $files, "start" => $start, "total" => count($files)];
     return $result;
 }
All Usage Examples Of Qiniu\Storage\BucketManager::listFiles