[PHP][AWS] AWS SDK for PHP 2 で S3 にファイルをアップロード

<?php
require_once("aws.phar");
use Aws\Common\Aws;
use Aws\Common\Enum\Region;
use Aws\S3\Enum\CannedAcl;
use Aws\S3\Exception\S3Exception;
use Guzzle\Http\EntityBody;
$access_key = 'Your Access Key';
$secret_key = 'Your Secret Key';
$region = Region::AP_NORTHEAST_1; // Region::AP_NORTHEAST_1 = Tokyo Region
$bucket = 's3_bucket_name';
try {
// S3
$s3 = Aws::factory(array(
'key' => $access_key,
'secret' => $secret_key,
'region' => $region,
))->get('s3');
$info = new FInfo(FILEINFO_MIME_TYPE);
// Upload File
$filename = 'test.txt';
$filebody = EntityBody::factory(fopen($filename, 'r'));
$filetype = $info->file($filename);
$response = $s3->putObject(array(
'Bucket' => $bucket,
'Key' => $filename,
'Body' => $filebody,
'ContentType' => $filetype,
'StorageClass' => 'STANDARD', // STANDARD or REDUCED_REDUNDANCY
//'ServerSideEncryption => 'AES256',
'ACL' => CannedAcl::PUBLIC_READ, // PUBLIC_READ, PRIVATE_ACCESS…
));
var_dump($response);
} catch (S3Exception $e) {
}

view raw
upload-s3.php
hosted with ❤ by GitHub

Region の設定値: PHP 2: Class Aws\Common\Enum\Region | AWS SDK for PHP 2
ACL の設定値: PHP 2: Class Aws\S3\Enum\CannedAcl | AWS SDK for PHP 2

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中