我正在尝试使用以下代码将文件上传到我的存储桶:
$s3 = new AmazonS3();
$bucket = 'host.domain.ext'; // My bucket name matches my host's CNAME
// Open a file resource
$file_resource = fopen('picture.jpg', 'r');
// Upload the file
$response = $s3->create_object($bucket, 'picture.jpg', array(
'fileUpload' => $file_resource,
'acl' => AmazonS3::ACL_PUBLIC,
'headers' => array(
'Cache-Control' => 'public, max-age=86400',
),
));
但是我得到了“NoSuchBucket”错误,奇怪的是当我查询我的S3帐户以检索存储桶列表时,我得到了与上传 host.domain.ext时使用的完全相同的名称
我尝试创建一个名称中没有圆点的不同存储桶,它工作正常...是的,我的问题是我的存储桶名称,但我需要保留FQDN约定,以便将其映射为静态文件服务器互联网。有没有人知道在将它发送到API以防止点崩溃之前我是否可以对我的存储桶名称进行任何转义?我已经尝试过正则表达式并得到了相同的结果。