oss-filelist

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/enjoy_sun_moon/article/details/81980848
    public function fileList() {
            /* 获取oss文件列表*/
        $ossClient      = new_oss();
        $bucket         = "guanfu-oss";
        $path           = "maweidu-weapp/image/";
        $listObjects    = array(); // 获取的文件列表, 数组的一阶表示分页结果
        $listPrefixs    = array(); // 获取的目录列表, 数组的一阶表示分页结果
        $storageList    = array();
        while (true) {
            $options = array(
                'delimiter' => '/',
                'prefix'    => $path,
                'max-keys'  => 500,
                'marker'    => '',
            );
            try {
                $listObjectInfo = $ossClient->listObjects($bucket, $options);
            } catch (OssException $e) {
                printf(__FUNCTION__ . ": FAILED\n");
                printf($e->getMessage() . "\n");
                return;
            }
            // 得到nextMarker,从上一次listObjects读到的最后一个文件的下一个文件开始继续获取文件列表。
            $nextMarker = $listObjectInfo->getNextMarker();
            $listObject = $listObjectInfo->getObjectList();
            $listPrefix = $listObjectInfo->getPrefixList();
            $listObjects[]  = $listObject;
            $listPrefixs[]  = $listPrefix;
            if ($nextMarker === '') {
                break;
            }
        }
        foreach ($listObjects[0] as $objectInfo) {
            $storageList['file'][] = $this->objectInfoParse($objectInfo);
        }
//        foreach ($dirList[0] as $item){
//            $storageList['dir'][] = $this->prefixInfoParse($item);

        echo "<pre>";
        var_dump($storageList);die;
        return $this->send($this->successCode, $storageList); // 发送正确信息
    }

    /* 解析 objectInfo 类 */
//    public function objectInfoParse($objectInfo) {
//        return [
//            'name'      => $objectInfo->getKey(),
//            'size'      => $objectInfo->getSize(),
//            'update_at' => $objectInfo->getLastModified(),
//        ];
//    }
    function objectInfoParse($objectInfo) {
        return array(
            'url'        => $objectInfo->getKey(),
            'size'       => $objectInfo->getSize(),
            'mtime'      => $objectInfo->getLastModified(),
        );
    }

猜你喜欢

转载自blog.csdn.net/enjoy_sun_moon/article/details/81980848
oss