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); }
/** * 删除bucket,如果bucket不为空则bucket无法删除成功, 不为空表示bucket既没有object,也没有未完成的multipart上传时的parts * * @param OssClient $ossClient OssClient实例 * @param string $bucket 待删除的存储空间名称 * @return null */ function deleteBucket($ossClient, $bucket) { try { $ossClient->deleteBucket($bucket); } catch (OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } print __FUNCTION__ . ": OK" . "\n"; }