aws sdk for php v3を使う。autoload.phpで良い。
<?php require_once('vendor/autoload.php'); $s3client = new Aws\S3\S3Client([ 'credentials' => [ 'key' => '', 'secret' => '' ], 'region' => 'ap-northeast-1', 'version' => 'latest', ]); $result = $s3client->putObject([ 'Bucket' => 'capital-technology', 'Key' => 'img.jpeg', 'SourceFile' => 'aaa.jpeg', 'ContentType' => mime_content_type('aaa.jpeg'), ]);
アップロードはできたが、公開するとしないと、アクセスできない。
更に、ストレージクラスもスタンダード。ここらへんをphp側で操作できるようにしたい。
ACLで’public-read’と指定すると公開指定ができる。
$result = $s3client->putObject([ 'Bucket' => 'capital-technology', 'Key' => 'img2.jpeg', 'ACL' => 'public-read', 'SourceFile' => 'aaa.jpeg', 'ContentType' => mime_content_type('aaa.jpeg'), ]); echo $result['ObjectURL'];