道歉,我不是AWS用户。我需要将文件上传到'文件夹'在AWS S3中的现有存储桶中。我知道没有'文件夹的概念。在S3中,我如何指定'文件夹'它需要去吗?
我上传的图片需要遵循
的现有结构https://s3.amazonaws.com/my.bucket.name/newfolder/test_image.png
我下面的代码有效,但它将图像放入根桶,而我需要将它放入一个新文件夹($ newfolder)。
有谁知道在下面的代码中我可以指定$ newfolder来实现这个目标?
谢谢。
<?php
$newfolder = "newfolder";
$bucket = 'my.bucket.name';
require_once('S3.php');
$awsAccessKey = 'MyAccessKey';
$awsSecretKey = 'MySecretKey';
$s3 = new S3($awsAccessKey, $awsSecretKey);
$s3->putBucket($bucket, S3::ACL_PUBLIC_READ);
$actual_image_name = 'test_image.png';
if($s3->putObjectFile('/var/www/html/test/image.png', $bucket , $actual_image_name, S3::ACL_PUBLIC_READ) )
{
$image='http://'.$bucket.'.s3.amazonaws.com/'.$actual_image_name;
}
else
{
echo 'error uploading to S3 Amazon';
}
?>
答案 0 :(得分:1)
$actual_image_name = 'newfolder/test_image.png';
S3将其称为存储桶中的键。密钥可以包含斜杠,当使用适当的客户端查看时,斜杠将被视为文件夹。但&#34;文件夹&#34;的概念;在处理S3 API和URL时并不重要,所以它只是&#34;键&#34;在其中加入斜杠。