使用配置 Amazon S3 存储桶AmazonSDK for PHP - Amazon适用于 PHP 的开发工具包
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用配置 Amazon S3 存储桶AmazonSDK for PHP

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

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

以下示例演示如何:

的所有示例代码Amazon适用 SDK for PHP 版本 3GitHub 上的此处.

Credentials

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

获取 CORS 配置

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

需要的唯一参数是所选存储桶的名称。如果存储桶当前具有 CORS 配置,该配置 Amazon S3 作为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()); }