Amazon S3 PHP Stream Wrapper设置图像的公共视图权限

时间:2013-08-26 13:52:17

标签: php amazon-web-services amazon-s3

我正在使用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);

保存图像后我只需要帮助,如何确保图像是公开可见的,但存储桶和文件夹不会列出所有内容。

1 个答案:

答案 0 :(得分:1)

您可以使用存储桶策略在存储桶级别设置此值。退房:

http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucketPolicies.html