LoginSignup
4
4

More than 5 years have passed since last update.

AWS SDK for PHPをComposerではなくzipで落として使う

Last updated at Posted at 2018-03-18

AWS SDK for PHPの使用はComposerが推奨されていますが、zipを落として使用したい場合があるかと思います。そんな時用のメモ。

環境

  • FuelPHP
  • AWS SDK for PHP v2
  • PHP5.3

AWS SDK for PHPの最新バージョンはv3です。v3ではPHP 5.5以上が必要になります。

AWS SDK for PHP ダウンロード

公式サイトからzipファイルを落としてきます。
v3: https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html
v2: https://aws.amazon.com/jp/releasenotes/release-aws-sdk-for-php-2-4-2/

解凍

zipファイルを落としたら解凍してサーバに設置します。設置場所はどこでも良いです。FuelPHPを使用している場合はpublic_html/fuel/vendor/あたりでしょうか。

ミニマムテストコード

sample.gifを作成してpublic_html直下に置いています。sample.gifがS3のtest/以下にアップロードされていれば成功です。なお、成功しても失敗しても画面に何も表示されません。

public_html/fuel/app/classes/controller/s3.php
<?php

require('fuel/vendor/aws/aws-autoloader.php');

use Aws\S3\S3Client;
use Aws\Common\Enum\Region; 

class Controller_S3 extends Controller {
    public function action_index() {

        // アクセスキー
        $key = 'XXXXXXXXXXXXXXXXXXXXXX';

        //シークレットアクセスキー
        $secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; 

        // s3のリージョン(日本の場合)
        $region = Region::TOKYO;

        // バケット名
        $bucket = 'test';

        // アップロードしたいファイルのパスとファイル名
        $input_file_path = DOCROOT.'sample.gif';

        // アップロード先 (S3) のパスとファイル名
        $output_file_path = 'sample.gif';

        $s3 = S3Client::factory(array(
            'key' => $key,
            'secret' => $secret,
            'region' => $region
        ));

        // アップロード
        $s3->putObject(array(
            'Bucket' =>$bucket,
            'Key' => $output_file_path,
            'Body' => file_get_contents($input_file_path)
        ));
    }
}

参考

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4