配置 Amazon S3 3 3 存储桶Amazon SDK for PHP版本 3 - Amazon SDK for PHP
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 Amazon S3 3 3 存储桶Amazon SDK for PHP版本 3

跨源资源共享 (CORS) 定义了在一个域中加载的客户端 Web 应用程序与另一个域中的资源交互的方式。借助 Amazon S3 中的 CORS 支持,您可以使用 Amazon S3 构建各种富客户端 Web 应用程序,并选择性地允许跨源访问您的 Amazon S3 资源。

有关对 Amazon S3 3 3 存储桶使用 CORS 配置的更多信息,请参阅跨源资源共享 (CORS).

以下示例演示如何:

的所有示例代码Amazon SDK for PHP可用此处 GitHub.

凭证

运行示例代码之前,请配置您的Amazon凭证,如中所述设置凭证. 然后导入Amazon SDK for PHP,如中所述基本用法.

获取 CORS 配置

使用以下代码创建 PHP 文件。首先创建一个 AWS.S3 客户端服务,然后调用 getBucketCors 方法并指定使用所需 CORS 配置的存储桶。

需要的唯一参数是所选存储桶的名称。如果存储桶当前具有 CORS 配置,该配置将作为CorsRules 对象.

导入

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

示例代码

$client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); try { $result = $client->getBucketCors([ 'Bucket' => $bucketName, // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

设置 CORS 配置

使用以下代码创建 PHP 文件。首先创建一个 AWS.S3 客户端服务。然后,调用 putBucketCors 方法并指定要设置其 CORS 配置的存储桶,并将 CORS 配置设置为 CORSRules JSON 对象

导入

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

示例代码

$client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); try { $result = $client->putBucketCors([ 'Bucket' => $bucketName, // REQUIRED 'CORSConfiguration' => [ // REQUIRED 'CORSRules' => [ // REQUIRED [ 'AllowedHeaders' => ['Authorization'], 'AllowedMethods' => ['POST', 'GET', 'PUT'], // REQUIRED 'AllowedOrigins' => ['*'], // REQUIRED 'ExposeHeaders' => [], 'MaxAgeSeconds' => 3000 ], ], ] ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }