【AWS】S3へファイルアップロード(PHP)
以前書いた FuelPHPでファイルアップロード の続きで、Amazon S3へアップロードする部分をまとめます。 事前準備 SDKセットアップ composerを使ってインストールします。 以下をcomposer.jsonに追加してcomposer installを実行します。 "aws/aws-sdk-php": "^3.99" 実装 S3へアップロードする処理 ライブラリ use \Aws\Credentials\CredentialProvider; use \Aws\S3\S3Client; use \Aws\S3\Exception\S3Exception; アップロード処理 // ①認証情報を取得 $provider = CredentialProvider::defaultProvider(); // ②S3Clientを生成 $s3client = new S3Client([ 'region' => 'ap-northeast-1', 'version' => '2006-03-01', 'credentials' => $provider, ]); foreach (Upload::get_files() as $file) { // ③URLを決定 $filename = 'images/'.$file['saved_as']; // ④イメージファイルをバイナリモードで開く $image = fopen($file['saved_to'].$file['saved_as'], 'rb'); // ⑤イメージファイルのContentTypeを取得 $content_type = mime_content_type($file['saved_to'].$file['saved_as']); try{ // ⑥S3へアップロード