Amazon S3从PHP中删除空文件夹

时间:2017-01-05 10:01:57

标签: php amazon-web-services amazon-s3 amazon

我试图删除对象,当删除所有对象时,我想删除主文件夹。

现在它工作正常,当我删除文件夹中的对象键,当文件夹为空时,文件夹将被删除,但当我点击最后一个主文件夹,如(folder1 / folder2 /)和folder1一个是空的删除folder2后,我无法删除此文件夹。

我的php代码看起来像这样。

$s3 = new S3Client([
    'version' => 'latest',
        'region'  => AMAZON_S3_REGION,
        'credentials' => [
            'key'    => AMAZON_KEY,
            'secret' => AMAZON_SECRET
        ]
]);

$response = $s3->listObjects([
    'Bucket' => AMAZON_S3_BUCKET,
    'Prefix' => $prefix_dir
]);

$keys = [];
foreach($response['Contents'] AS $val) {
    $keys[]['Key'] = $val['Key'];
}

$result = $s3->deleteObjects([
    'Bucket' => AMAZON_S3_BUCKET,
    'Objects' => $keys
]);

当我尝试删除文件夹路径后,我得到状态码204,但为什么?

1 个答案:

答案 0 :(得分:1)

而不是microsoft/dotnet:runtime尝试使用deleteMatchingObjects并传递空的deleteObjects或匹配某个文件夹的字符串。

prefix