まずはSDKをダウンロードします。
Releases · aws/aws-sdk-php · GitHub
ダウンロードしたaws.pharをサーバーにアップロードします。
PHPでインクルードして使う方法は以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
require_once('aws.phar'); use Aws\S3\S3Client; use Aws\Common\Enum\Region; try { $client = S3Client::factory(array( 'key' => '(アクセスキーを入れる)' ,'secret' => '(シークレットアクセスキーを入れる)' ,'region' => Region::AP_NORTHEAST_1 //(適宜変更) )); // ファイル取得 $result = $client->getObject(array( 'Bucket' => '(バケットを入れる)' ,'Key' => '(パスを入れる)' )); // S3上にログを残す(必要なければ削除してください) $client->putObject(array( 'Bucket' => '(ログ用のバケットを入れる)' ,'Key' => 'logs/download_log/' . date('Ym') . '/' . $uid . '-' . $pid . '-' . date('YmdHis') ,'Body' => '' )); } catch(Exception $e) { exit('ファイルが見つかりません'); } $len = $result['ContentLength']; $result['Body']->rewind(); $data = $result['Body']->read($len); // output file header("Content-type: (ファイルタイプを指定)"); header("Content-Disposition: attachment; filename=$filename"); header("Content-Length: " . $len); echo $data; |