Reputation: 21
I'm trying to delete the folder created in a bucket in Amazon S3 and it gives the error
An unexpected error has occurred. Please try again.
How can I delete the folder?
Upvotes: 1
Views: 2953
Reputation: 57322
First you need to understand that there is nothing like folder in Amazon s3 bucket
what you see is object which behaves like folder
one/ // so what you see folder is this but its separate object
one/abc.png
one/tow/
one/tow/a.zip
to delete folder you need to delete every object start with one/
and you can do that by deleteMatchingObjects()
function
$s3 = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'us-west-2',
'credentials.ini' => [
'key' => $credentials['key'],
'secret' => $credentials['secret'],
],
]);
/* this is what you need*/
$s3->deleteMatchingObjects($bucket, $obj);
I have used phpsdk v3
Upvotes: 5
Reputation: 622
I am using below code in s3.php class. check it out.
/**
* Delete an empty bucket
*
* @param string $bucket Bucket name
* @return boolean
*/
public function deleteBucket($bucket = '') {
$rest = new S3Request('DELETE', $bucket);
$rest = $rest->getResponse();
if ($rest->error === false && $rest->code !== 204)
$rest->error = array('code' => $rest->code, 'message' => 'Unexpected HTTP status');
if ($rest->error !== false) {
trigger_error(sprintf("S3::deleteBucket({$bucket}): [%s] %s",
$rest->error['code'], $rest->error['message']), E_USER_WARNING);
return false;
}
return true;
}
Upvotes: 0