phpでlocalからS3に画像をアップロードする

aws sdk for php v3を使う。autoload.phpで良い。

<?php

require_once('vendor/autoload.php');

$s3client = new Aws\S3\S3Client(&#91;
		'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'];