fuelphpでS3との連携をしたいという場合は、AWS SDKを使えば簡単に出来たりはするけども、
そもそも使うのはS3だけだしな…とかっていう人にとってはSDKの導入は中々に面倒だったりする。
そこで今回はこのパッケージを入れれば簡単に出来るよっていうのがあるのでその紹介をば。

fuel-s3
こちらはpackageなのだが、S3の機能だけうまく取り出している。
ちなみにREST系のpackageなので、わざわざ変な事をしていなくてシンプルなのがよかったり。
なのでこれを使ってアップロードされたファイルをS3上に保存する方法はこちら。
Upload::process(array(
'path' => DOCROOT.'tmp',
'file_chmod' => 0666,
'create_path' => true,
'randomize' => true,
"ext_whitelist" => array("jpg","png","gif")
));
if(Upload::is_valid()){
$files = \Upload::get_files();
/* upload s3 */
$file = \S3::input_file($files[0]['file']);
$save_name = Str::random('unique');
$ext = $files[0]['extension'];
\S3::put_object($file,'s3bucket',"bucket_folder/{$save_name}.{$ext}","public-read");
}
else{
/* error */
}
ってな感じですごく簡単に出来る。また一時的にサーバー上に保存などをしてということもしないので、ゴミも溜まることなくというまさに便利。
それにAWS SDKみたいにuseとかそういう設定が面倒な人にとってはすごく便利。
もちろんdevelopmentとproductionで設定を分けるってことも出来るのでオススメの一品。

0 件のコメント:
コメントを投稿