ここを参考にしたので、もっと知りたい方はこちらを見てください。英語です
→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