S3::deleteBucket PHP Method

deleteBucket() public static method

Delete an empty bucket
public static deleteBucket ( string $bucket ) : boolean
$bucket string Bucket name
return boolean
    public static function deleteBucket($bucket)
    {
        $rest = new S3Request('DELETE', $bucket, '', self::$endpoint);
        $rest = $rest->getResponse();
        if ($rest->error === false && $rest->code !== 204) {
            $rest->error = array('code' => $rest->code, 'message' => 'Unexpected HTTP status');
        }
        if ($rest->error !== false) {
            self::__triggerError(sprintf("S3::deleteBucket({$bucket}): [%s] %s", $rest->error['code'], $rest->error['message']), __FILE__, __LINE__);
            return false;
        }
        return true;
    }

Usage Example

Example #1
0
        // Update an access control policy ($acp should be the same as the data returned by S3::getAccessControlPolicy())
        // $s3->setAccessControlPolicy($bucketName, '', $acp);
        // $acp = $s3->getAccessControlPolicy($bucketName);
        // echo "S3::getAccessControlPolicy(): {$bucketName}: ".print_r($acp, 1);
        // Enable logging for a bucket:
        // $s3->setBucketLogging($bucketName, 'logbucket', 'prefix');
        // if (($logging = $s3->getBucketLogging($bucketName)) !== false) {
        // 	echo "S3::getBucketLogging(): Logging for {$bucketName}: ".print_r($contents, 1);
        // } else {
        // 	echo "S3::getBucketLogging(): Logging for {$bucketName} not enabled\n";
        // }
        // Disable bucket logging:
        // var_dump($s3->disableBucketLogging($bucketName));
        // Delete our file
        if ($s3->deleteObject($bucketName, baseName($uploadFile))) {
            echo "S3::deleteObject(): Deleted file\n";
            // Delete the bucket we created (a bucket has to be empty to be deleted)
            if ($s3->deleteBucket($bucketName)) {
                echo "S3::deleteBucket(): Deleted bucket {$bucketName}\n";
            } else {
                echo "S3::deleteBucket(): Failed to delete bucket (it probably isn't empty)\n";
            }
        } else {
            echo "S3::deleteObject(): Failed to delete file\n";
        }
    } else {
        echo "S3::putObjectFile(): Failed to copy file\n";
    }
} else {
    echo "S3::putBucket(): Unable to create bucket (it may already exist and/or be owned by someone else)\n";
}