我正在使用Amazon PHP SDK for S3将图像保存到存储桶中。我需要确保添加的每个图像都是公开可见的,但我不想添加列表可访问性。我无法找到一种方法在桶级别设置它,以便它传播到所有上传的图像。
所以,我的问题是,在将图像移动到S3后,如何在图像上设置权限,以便在浏览器中查看?
我的代码如下所示:
require_once("aws/aws-autoloader.php");
// Amazon S3
use Aws\S3\S3Client;
// Create an Amazon S3 client object
$s3Client = S3Client::factory(array(
'key' => $amazonKey,
'secret' => $amazonSecret
));
// Register the stream wrapper from a client object
$s3Client->registerStreamWrapper();
// Save Thumbnail
$s3Path = "s3://".$amazonBucket."/".$folderYear."/".$folderMonth."/";
$s3Stream = fopen($s3Path . $thumbnail, 'w');
fwrite($s3Stream,$thumb_content);
@fclose($s3Stream);
保存图像后我只需要帮助,如何确保图像是公开可见的,但存储桶和文件夹不会列出所有内容。
答案 0 :(得分:1)
您可以使用存储桶策略在存储桶级别设置此值。退房:
http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucketPolicies.html