AWSのS3にphpで画像をアップロード
以下のようなコードを書いているのですが、画像がS3にアップロードされません。
S3のURLは正常に出力されています。
詳しい方、ご教示ください。
//画像関連
$file = date('YmdHis') . $_FILES['top_img']['name'];
$img_tmp_name = $_FILES['top_img']['tmp_name'];
move_uploaded_file($img_tmp_name, "img/" . $file);
// Instantiate an Amazon S3 client.
$s3 = new S3Client([
'version' => '2006-03-01',
'region' => 'ap-northeast-1',
'credentials' => [
'key' => 'key',
'secret' => 'secret',
],
]);
try {
$result = $s3->putObject([
'Bucket' => 'bucket',
'Key' => 'img/'.$file,
'ContentType' => 'image/jpeg',
'Body' => fopen('test.php', 'r'),
'StorageClass' => 'REDUCED_REDUNDANCY',
'ACL' => 'public-read',
]);
echo $result['ObjectURL'] . "\n";
} catch (Aws\Exception\S3Exception $e) {
echo "There was an error uploading the file.\n";
}