109 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			109 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | require_once __DIR__ . '/Common.php'; | ||
|  | 
 | ||
|  | use OSS\OssClient; | ||
|  | use OSS\Core\OssException; | ||
|  | use OSS\Model\CorsConfig; | ||
|  | use OSS\Model\CorsRule; | ||
|  | 
 | ||
|  | $ossClient = Common::getOssClient(); | ||
|  | if (is_null($ossClient)) exit(1); | ||
|  | $bucket = Common::getBucketName(); | ||
|  | 
 | ||
|  | 
 | ||
|  | //******************************* Simple usage****************************************************************
 | ||
|  | 
 | ||
|  | // Set cors configuration
 | ||
|  | $corsConfig = new CorsConfig(); | ||
|  | $rule = new CorsRule(); | ||
|  | $rule->addAllowedHeader("x-oss-header"); | ||
|  | $rule->addAllowedOrigin("http://www.b.com"); | ||
|  | $rule->addAllowedMethod("POST"); | ||
|  | $rule->setMaxAgeSeconds(10); | ||
|  | $corsConfig->addRule($rule); | ||
|  | $ossClient->putBucketCors($bucket, $corsConfig); | ||
|  | Common::println("bucket $bucket corsConfig created:" . $corsConfig->serializeToXml()); | ||
|  | 
 | ||
|  | // Get cors configuration
 | ||
|  | $corsConfig = $ossClient->getBucketCors($bucket); | ||
|  | Common::println("bucket $bucket corsConfig fetched:" . $corsConfig->serializeToXml()); | ||
|  | 
 | ||
|  | // Delete cors configuration
 | ||
|  | $ossClient->deleteBucketCors($bucket); | ||
|  | Common::println("bucket $bucket corsConfig deleted"); | ||
|  | 
 | ||
|  | //******************************* For complete usage, see the following functions  *****************************************************
 | ||
|  | 
 | ||
|  | putBucketCors($ossClient, $bucket); | ||
|  | getBucketCors($ossClient, $bucket); | ||
|  | deleteBucketCors($ossClient, $bucket); | ||
|  | getBucketCors($ossClient, $bucket); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Set bucket cores | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function putBucketCors($ossClient, $bucket) | ||
|  | { | ||
|  |     $corsConfig = new CorsConfig(); | ||
|  |     $rule = new CorsRule(); | ||
|  |     $rule->addAllowedHeader("x-oss-header"); | ||
|  |     $rule->addAllowedOrigin("http://www.b.com"); | ||
|  |     $rule->addAllowedMethod("POST"); | ||
|  |     $rule->setMaxAgeSeconds(10); | ||
|  |     $corsConfig->addRule($rule); | ||
|  | 
 | ||
|  |     try { | ||
|  |         $ossClient->putBucketCors($bucket, $corsConfig); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Get and print the cors configuration of a bucket | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function getBucketCors($ossClient, $bucket) | ||
|  | { | ||
|  |     $corsConfig = null; | ||
|  |     try { | ||
|  |         $corsConfig = $ossClient->getBucketCors($bucket); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  |     print($corsConfig->serializeToXml() . "\n"); | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Delete all cors configuraiton of a bucket | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function deleteBucketCors($ossClient, $bucket) | ||
|  | { | ||
|  |     try { | ||
|  |         $ossClient->deleteBucketCors($bucket); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  | } | ||
|  | 
 |