我使用AWS为我的网站上传图片,css和一些zip文件,他们可以上传它们。但是现在我想要我首先在localhost上传一个zip,然后我将它们提取到一个文件夹中,我想要将整个文件夹上传到aws.Can任何人都可以帮我做。谢谢。
我使用函数上传文件,如
require_once 'aws-sdk-for-php/sdk.class.php';
$s3 = new AmazonS3();
$response = $s3->create_object($bucket, $filename, array(
'fileUpload' => $filepath,
'acl' => AmazonS3::ACL_PUBLIC,
'storage' => AmazonS3::STORAGE_REDUCED,
'headers' => array(
'Cache-Control' => 'max-age=2592000'
);
单张图片工作正常。但我不知道怎么做entore文件夹。
答案 0 :(得分:1)
没有可以上传整个文件夹的Amazon S3 API调用。您可以循环遍历本地文件列表,然后将每个文件单独上载到S3。如果您有能力,并行执行此操作也可以大大加快上传速度。
你也可以通过呼叫AWS Command Line Interface (CLI)来作弊。 CLI可以上传/下载递归的文件列表,也可以为大文件执行多部分上载。还有一个aws s3 sync
命令可以智能地仅上传新的/修改过的文件。
答案 1 :(得分:0)
使用 PHP ,您可以上传整个目录:
$client->uploadDirectory(
SOURCE_FOLDER,
YOUR_BUCKET_NAME,
DESTINATION,
array(
'concurrency' => 5,
'debug' => TRUE,
'force' => FALSE,
'params' => array(
'ServerSideEncryption' => 'AES256',
),
)
);