ここを参考にしたので、もっと知りたい方はこちらを見てください。英語です
→http://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/service-s3.html
Case1: /var/www/htmlにsample.txtがある
require "vendor/autoload.php"; use Aws\S3\S3Client; $bucket = "Bucket name"; $client = S3Client::factory(array( 'key' => 'Your Key', 'secret' => 'Your Secret Key', 'region' => 'Your Region' )); //このclientの作り方はhttp://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/service-s3.html //こちらのリンクのCreating a clientを参考にしてください $client -> putObject(array( "Bucket" => $bucket, "Key" => "fromFopen.txt", "SourceFile" => "/var/www/html/sample.txt", "ACL" => "public-read" ));
これでアップロードできます。自分の環境に合わせて$bucketやputObjectの中身は変えてください。ポイントは"SourceFile"でアップロードしたいファイルを指定しているところです。
Case2: フォームで指定された画像をアップロードする
//上と同じなので省略 $bucket = "/*省略*/"; $client = S3Client::factory(/*省略*/)); $fileName = $_FILES["picture"]["name"]; $filePath = "pictures/" . $fileName; if(move_uploaded_file($_FILES["picture"]["tmp_name"], $filePath)){ $client -> putObject(array( "Bucket" => $bucket, "Key" => $fileName, "Body" => fopen(sprintf("/var/www/html/%s", $filePath), "r+"), "ContentType" => "image//*写真の種類、jpg, pngとか*/". "ACL" => "public-read" )); } else{ echo "Not OK!"; }
写真の時はなぜだか"SoueceFile"ではうまくいかなかったので、"Body"に変えました
これでアップロードできます^^
No comments:
Post a Comment