createObjectDir() public method

暂不开放此接口
public createObjectDir ( string $bucket, string $object, array $options = NULL ) : null
$bucket string bucket名称
$object string object名称
$options array
return null
 /**
  * Create a directory.
  *
  * @param string $dirname directory name
  * @param Config $config
  * @return array|false
  */
 public function createDir($dirname, Config $config)
 {
     $object = $this->applyPathPrefix($dirname);
     $options = $this->getOptionsFromConfig($config);
     try {
         $this->client->createObjectDir($this->bucket, $object, $options);
     } catch (OssException $e) {
         return false;
     }
     return ['path' => $dirname, 'type' => 'dir'];
 }
Example #2
0
/**
 * 列出Bucket内所有目录和文件, 根据返回的nextMarker循环得到所有Objects
 *
 * @param OssClient $ossClient OssClient实例
 * @param string $bucket 存储空间名称
 * @return null
 */
function listAllObjects($ossClient, $bucket)
{
    //构造dir下的文件和虚拟目录
    for ($i = 0; $i < 100; $i += 1) {
        $ossClient->putObject($bucket, "dir/obj" . strval($i), "hi");
        $ossClient->createObjectDir($bucket, "dir/obj" . strval($i));
    }
    $prefix = 'dir/';
    $delimiter = '/';
    $nextMarker = '';
    $maxkeys = 30;
    while (true) {
        $options = array('delimiter' => $delimiter, 'prefix' => $prefix, 'max-keys' => $maxkeys, 'marker' => $nextMarker);
        var_dump($options);
        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();
        var_dump(count($listObject));
        var_dump(count($listPrefix));
        if ($nextMarker === '') {
            break;
        }
    }
}