我需要将文件上传到我在Amazon s3存储上创建的特定目录中。我总是将文件上传到存储桶的“绝对路径”上,如下所示:
$s3->putObject(array(
'Bucket' => $bucket,
'ContentType' => $mime,
'Key' => $localImage,
'ACL' => 'public-read',
'SourceFile' => $localImage,
'CacheControl' => 'max-age=172800',
"Expires" => gmdate("D, d M Y H:i:s T", strtotime("+5 years")),
'Metadata' => array(
'profile' => $localImage,
),
));
如何定义此文件应在给定目录上载的位置?
您必须在“密钥”参数中包含该信息。S3实际上不是文件系统,它更像是一个大型(哈希表)关联数组。“ Bucket”是哈希表的名称,“ Key”是键(例如$bucket[$key] = $content
)。因此,所有路径/目录信息都必须是“密钥”的一部分。
$localImage = '/Users/jim/Photos/summer-vacation/DP00342654.jpg';
$s3->putObject(array(
'Bucket' => 'my-uniquely-named-bucket',
'SourceFile' => $localImage,
'Key' => 'photos/summer/' . basename($localImage)
));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句