weyii / yii2-filesystem

FlySystem for Yii2. 支持(FTP, SFTP, 七牛,又拍云, 阿里云OSS等常用存储)
48 stars 14 forks source link

使用七牛调用$disk->listContents()报错 #10

Open qiuxincai opened 6 years ago

qiuxincai commented 6 years ago

Undefined offset: 2 in I:\code\advanced\vendor\weyii\yii2-filesystem\adapters\QiNiu.php https://github.com/weyii/yii2-filesystem/blob/85b0caf007b27d83c2047102433bc6f2767b0dae/adapters/QiNiu.php#L184-L193

result in line 186 only 2 parameters

https://github.com/qiniu/php-sdk/blob/4c4f9b819f420b77bc7313b7d5ee6d33f1139df6/src/Qiniu/Storage/BucketManager.php#L59-L88

so I change the method and sloved this problem.

 protected function listDirContents($directory, $start = null)
    {
        list($result,$err) = $this->getBucketManager()->listFiles($this->bucket, $directory, $start);
        $item = $result['items'];
        if ($err !== null) {
            return [];
        } elseif (!empty($start)) {
            list($result2,$err) = $this->listDirContents($directory, $start);
            if($err == null){
                $item = array_merge($item,$result2['items']);
            }
        }
        return $item;
    }