OSS\OssClient::deleteObjects PHP 메소드

deleteObjects() 공개 메소드

删除同一个Bucket中的多个Object
public deleteObjects ( string $bucket, array $objects, array $options = null ) : OSS\Http\ResponseCore
$bucket string bucket名称
$objects array object列表
$options array
리턴 OSS\Http\ResponseCore
    public function deleteObjects($bucket, $objects, $options = null)
    {
        $this->precheckCommon($bucket, NULL, $options, false);
        if (!is_array($objects) || !$objects) {
            throw new OssException('objects must be array');
        }
        $options[self::OSS_METHOD] = self::OSS_HTTP_POST;
        $options[self::OSS_BUCKET] = $bucket;
        $options[self::OSS_OBJECT] = '/';
        $options[self::OSS_SUB_RESOURCE] = 'delete';
        $options[self::OSS_CONTENT_TYPE] = 'application/xml';
        $quiet = 'false';
        if (isset($options['quiet'])) {
            if (is_bool($options['quiet'])) {
                //Boolean
                $quiet = $options['quiet'] ? 'true' : 'false';
            } elseif (is_string($options['quiet'])) {
                // string
                $quiet = $options['quiet'] === 'true' ? 'true' : 'false';
            }
        }
        $xmlBody = OssUtil::createDeleteObjectsXmlBody($objects, $quiet);
        $options[self::OSS_CONTENT] = $xmlBody;
        $response = $this->auth($options);
        $result = new PutSetDeleteResult($response);
        return $result->getData();
    }

Usage Example

예제 #1
0
 public function tearDown()
 {
     if (!$this->ossClient->doesBucketExist($this->bucket)) {
         return;
     }
     $objects = $this->ossClient->listObjects($this->bucket, array('max-keys' => 1000, 'delimiter' => ''))->getObjectList();
     $keys = array();
     foreach ($objects as $obj) {
         $keys[] = $obj->getKey();
     }
     if (count($keys) > 0) {
         $this->ossClient->deleteObjects($this->bucket, $keys);
     }
     $uploads = $this->ossClient->listMultipartUploads($this->bucket)->getUploads();
     foreach ($uploads as $up) {
         $this->ossClient->abortMultipartUpload($this->bucket, $up->getKey(), $up->getUploadId());
     }
     $this->ossClient->deleteBucket($this->bucket);
 }
All Usage Examples Of OSS\OssClient::deleteObjects