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'];