Я пытаюсь удалить папку, созданную в ведро в Amazon S3, и это дает ошибку
Произошла непредвиденная ошибка. Пожалуйста, попробуйте еще раз.
Как удалить папку?
Сначала вам нужно понять, что нет ничего похожего на папку в корзине Amazon s3
то, что вы видите, является объектом, который ведет себя как папка
one/ // so what you see folder is this but its separate object one/abc.png one/tow/ one/tow/a.zip
для удаления папки вам нужно удалить каждый объект с помощью one/
и вы можете сделать это с deleteMatchingObjects()
функции deleteMatchingObjects()
$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);
Я использовал phpsdk v3
Я использую код ниже в классе s3.php. проверьте это.
/** * 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; }