169 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			169 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | require_once __DIR__ . '/Common.php'; | ||
|  | 
 | ||
|  | use OSS\OssClient; | ||
|  | use OSS\Core\OssException; | ||
|  | 
 | ||
|  | $ossClient = Common::getOssClient(); | ||
|  | if (is_null($ossClient)) exit(1); | ||
|  | $bucket = Common::getBucketName(); | ||
|  | 
 | ||
|  | //******************************* Simple Usage****************************************************************
 | ||
|  | 
 | ||
|  | // Create a bucket
 | ||
|  | $ossClient->createBucket($bucket, OssClient::OSS_ACL_TYPE_PUBLIC_READ_WRITE); | ||
|  | Common::println("bucket $bucket created"); | ||
|  | 
 | ||
|  | // Check whether a bucket exists
 | ||
|  | $doesExist = $ossClient->doesBucketExist($bucket); | ||
|  | Common::println("bucket $bucket exist? " . ($doesExist ? "yes" : "no")); | ||
|  | 
 | ||
|  | // Get the bucket list
 | ||
|  | $bucketListInfo = $ossClient->listBuckets(); | ||
|  | 
 | ||
|  | // Set bucket ACL
 | ||
|  | $ossClient->putBucketAcl($bucket, OssClient::OSS_ACL_TYPE_PUBLIC_READ_WRITE); | ||
|  | Common::println("bucket $bucket acl put"); | ||
|  | // Get bucket ACL
 | ||
|  | $acl = $ossClient->getBucketAcl($bucket); | ||
|  | Common::println("bucket $bucket acl get: " . $acl); | ||
|  | 
 | ||
|  | 
 | ||
|  | //******************************* For complete usage, see the following functions ****************************************************
 | ||
|  | 
 | ||
|  | createBucket($ossClient, $bucket); | ||
|  | doesBucketExist($ossClient, $bucket); | ||
|  | deleteBucket($ossClient, $bucket); | ||
|  | putBucketAcl($ossClient, $bucket); | ||
|  | getBucketAcl($ossClient, $bucket); | ||
|  | listBuckets($ossClient); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Create a new bucket | ||
|  |  * acl indicates the access permission of a bucket, including: private, public-read-only/private-read-write, and public read-write. | ||
|  |  * Private indicates that only the bucket owner or authorized users can access the data.. | ||
|  |  * The three permissions are separately defined by (OssClient::OSS_ACL_TYPE_PRIVATE,OssClient::OSS_ACL_TYPE_PUBLIC_READ, OssClient::OSS_ACL_TYPE_PUBLIC_READ_WRITE) | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket Name of the bucket to create | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function createBucket($ossClient, $bucket) | ||
|  | { | ||
|  |     try { | ||
|  |         $ossClient->createBucket($bucket, OssClient::OSS_ACL_TYPE_PUBLIC_READ_WRITE); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Check whether a bucket exists. | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  */ | ||
|  | function doesBucketExist($ossClient, $bucket) | ||
|  | { | ||
|  |     try { | ||
|  |         $res = $ossClient->doesBucketExist($bucket); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     if ($res === true) { | ||
|  |         print(__FUNCTION__ . ": OK" . "\n"); | ||
|  |     } else { | ||
|  |         print(__FUNCTION__ . ": FAILED" . "\n"); | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Delete a bucket. If the bucket is not empty, the deletion fails. | ||
|  |  * A bucket which is not empty indicates that it does not contain any objects or parts that are not completely uploaded during multipart upload | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket Name of the bucket to delete | ||
|  |  * @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"); | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Set bucket ACL | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function putBucketAcl($ossClient, $bucket) | ||
|  | { | ||
|  |     $acl = OssClient::OSS_ACL_TYPE_PRIVATE; | ||
|  |     try { | ||
|  |         $ossClient->putBucketAcl($bucket, $acl); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | /** | ||
|  |  * Get bucket ACL | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function getBucketAcl($ossClient, $bucket) | ||
|  | { | ||
|  |     try { | ||
|  |         $res = $ossClient->getBucketAcl($bucket); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  |     print('acl: ' . $res); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | /** | ||
|  |  * List all buckets | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function listBuckets($ossClient) | ||
|  | { | ||
|  |     $bucketList = null; | ||
|  |     try { | ||
|  |         $bucketListInfo = $ossClient->listBuckets(); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  |     $bucketList = $bucketListInfo->getBucketList(); | ||
|  |     foreach ($bucketList as $bucket) { | ||
|  |         print($bucket->getLocation() . "\t" . $bucket->getName() . "\t" . $bucket->getCreatedate() . "\n"); | ||
|  |     } | ||
|  | } |