share facebook facebook twitter menu hatena pocket slack

2011.02.04 FRI

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

鈴木 宏康

WRITTEN BY 鈴木 宏康

AWS SDK for PHPでS3にファイルアップロードしてみました。

ライプラリをダウンロードして展開すると、
下記のようにファイルやディレクトリが配置されます。

$ ls -1

config-sample.inc.php
lib
sdk.class.php
services
utilities

そして、”config-sample.inc.php”を”config.inc.php”にコピーして、
アクセスキーとシークレットキーを設定します。

$ cp config-sample.inc.php config.inc.php
$ vi config.inc.php
...
define('AWS_KEY', 'KKKKKKKK');
...
define('AWS_SECRET_KEY', 'SSSSSSSS');
...

最後に、以下のようにPHPスクリプトを実行すると、
S3へファイルアップロードできます。
——–【s3.php】——–

set_region(AmazonS3::REGION_US_E1);

// "cdn.suz-lab.com"バケットに"test.txt"をアップロード
$response = $s3->create_object("cdn.suz-lab.com", "test.txt", array(
"fileUpload" => "test.txt", // アップロードするファイルを指定
"acl" => AmazonS3::ACL_PUBLIC,
"contentType" => "text/plain"
));
// ※ aclは下記が設定できます。
// AmazonS3::ACL_PRIVATE
// AmazonS3::ACL_PUBLIC
// AmazonS3::ACL_OPEN
// AmazonS3::ACL_AUTH_READ
// AmazonS3::ACL_OWNER_READ
// AmazonS3::ACL_OWNER_FULL_CONTROL

// 結果の表示
var_dump($response);
?>

——–【s3.php】——–

※上記ファイルと同一ディレクトリにconfig.inc.phpがあることが前提です。

他にもいろいろとパラメータを設定できるので、詳しくはAmazonS3 create_objectを参照してください。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。