Fab*_*lio 16 php amazon-s3 amazon-web-services
我需要将我的文件上传到我在亚马逊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,
),
));
Run Code Online (Sandbox Code Playgroud)
如何定义此文件应在给定目录上的上传位置?
Jer*_*lom 39
您必须在"密钥"参数中包含该信息.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)
));
Run Code Online (Sandbox Code Playgroud)