目次

内容

S3利用上の注意

  • ログ出力はprefixでlogs/と指定すると、logsディレクトリに出力される。

S3をPHPで操作

参考

事前準備

インストール

ローカルユーザーでもインストール可能

  • PHPのライブラリ管理ツール「Composer」をインストール
    # curl -s http://getcomposer.org/installer | php
    #!/usr/bin/env php
    All settings correct for using Composer
    Downloading...
    
    Composer successfully installed to: /root/composer.phar
    Use it: php composer.phar
  • composer.pharが生成されたら、同じディレクトリに「composer.json」を作成
    {
      "require": {
          "aws/aws-sdk-php": "*"
      }
    }
  • インストールの実行
    # php composer.phar install
    Loading composer repositories with package information
    Installing dependencies
      - Installing symfony/event-dispatcher (v2.1.8)
        Downloading: 100%
    
      - Installing guzzle/guzzle (v3.2.0)
        Downloading: 100%
    
      - Installing aws/aws-sdk-php (2.1.2)
        Downloading: 100%
  • vender/ が作成される。

サンプルスクリプト

  • 新しいSDKでBucketの一覧を取得
    <?php
    
    define( "AWS_ACCESS_KEY", "****" );
    define( "AWS_SECRET_KEY", "****" );
    define( "BUCKET_NAME", "****" );
    define( "BUCKET_REGION", "****" );
    
    require_once( "vendor/autoload.php" );
    
    use Aws\S3\S3Client;
    use Aws\S3\Exception\S3Exception;
    
    $s3 = Aws\S3\S3Client::factory( array(
        "key" => AWS_ACCESS_KEY,
        "secret" => AWS_SECRET_KEY,
        "region" => BUCKET_REGION,
    ) );
    
    // Backetの一覧
    $result = $s3->listBuckets();
    foreach( $result["Buckets"] as $bucket ){
        print_r( $bucket );
    }
    
    // ファイルの一覧
    $result = $s3->listObjects( array( "Bucket" => BUCKET_NAME ) );
    foreach( $result["Contents"] as $item ){
        print_r( $item );
    }
    
    // ファイルのアップ
    $fp = fopen( "test.gif", "rb" );
    $result = $s3->putObject( array( "Bucket" => BUCKET_NAME, "Key" => "aaa/test.zip", "Body" => $fp ) );
    fclose( $fp );
    
    // ファイルの取得
    $result = $s3->getObject( array(
        'Bucket' => BUCKET_NAME ,
        'Key' => "aaa/test.zip",
        "SaveAs" => "output_dir/test.zip",
    ) );

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-25 (日) 19:27:03 (446d)