使用第 3 版設定 Amazon S3 儲存貯體 適用於 PHP 的 AWS SDK - 適用於 PHP 的 AWS SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用第 3 版設定 Amazon S3 儲存貯體 適用於 PHP 的 AWS SDK

跨來源資源分享 (CORS) 會定義一種方式,讓載入單一個網域的用戶端 Web 應用程式,能與不同網域中的資源互動。透過 Amazon S3 中的 CORS 支援,您可以使用 Amazon S3 建置豐富的用戶端 Web 應用程式,並選擇性地允許跨來源存取您的 Amazon S3 資源。

如需搭配 Amazon S3 儲存貯體使用 CORS 組態的詳細資訊,請參閱跨來源資源共用 (CORS)

下列範例示範如何:

您可以在 GitHub 上 適用於 PHP 的 AWS SDK 取得 的所有範例程式碼。 GitHub

登入資料

在執行範例程式碼之前,請先設定您的 AWS 登入資料,如中所述AWS 使用第 3 適用於 PHP 的 AWS SDK 版向 驗證。然後匯入 適用於 PHP 的 AWS SDK,如 中所述安裝第 3 適用於 PHP 的 AWS SDK 版

取得 CORS 組態

使用下列程式碼建立 PHP 檔案。首先,建立一個 AWS.S3 用戶端服務,然後呼叫 getBucketCors 方法,並指定具有您所需要 CORS 組態的儲存貯體。

唯一需要的參數,就是所選取儲存貯體的名稱。如果儲存貯體目前具有 CORS 組態,Amazon S3 會將該組態傳回為 CORSRules 物件

匯入

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

範例程式碼

$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 組態的儲存貯體,然後指定 CORSConfiguration 為 CORSRules JSON 物件

匯入

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

範例程式碼

$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()); }