Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
Amazon S3 - Delete Bucket (REST API)Deletes an Amazon S3 bucket using the REST API. This example deletes the bucket named "chilkat3".
<?php $http = new COM("Chilkat.Http"); $success = $http->UnlockComponent('Anything for 30-day trial.'); if ($success != true) { // Unlock failed. print $http->lastErrorText() . "\n"; exit; } $crypt = new COM("Chilkat.Crypt2"); $success = $crypt->UnlockComponent('Anything for 30-day trial.'); if ($success != true) { print $crypt->lastErrorText() . "\n"; exit; } // The HTTP component now includes a method to generate // the current date/time in RFC 2616 compliant format. // Note: The GenTimeStamp method is available as a pre-release (as of 18-June-2008). // It will become available in the next new version dated after // 18-June-2008. $curDateTime = $http->genTimeStamp(); // Delete the bucket named "chilkat3" $strToSign = 'DELETE' . "\n" . "\n" . "\n" . $curDateTime . "\n" . '/chilkat3/'; // We want SHA1 for the HMAC hash algorithm: $crypt->HashAlgorithm = 'sha1'; // These must be changed for your account: $AWSAccessKeyId = 'zzzzzzzzzzzzzzzzzzzzz'; $AWSSecretAccessKey = 'zzzzzzzzzzzzzzzzzzzzzzzzzzz'; // Set the HMAC secret key: $crypt->SetHmacKeyString($AWSSecretAccessKey); // By setting the charset = "utf-8", the string will be converted // to utf-8 (internal to the Chilkat component) prior to signing: $crypt->Charset = 'utf-8'; // Indicate that Base64 output is desired: $crypt->EncodingMode = 'base64'; $signature = $crypt->hmacStringENC($strToSign); $authValue = 'AWS ' . $AWSAccessKeyId . ':' . $signature; // The bucket to be deleted is specified in the Host header. // In this example, the "chilkat3" bucket is deleted $http->SetRequestHeader('Host','chilkat3.s3.amazonaws.com'); $http->SetRequestHeader('Authorization',$authValue); $http->SetRequestHeader('Date',$curDateTime); // Send the DELETE request. $responseStr = $http->quickDeleteStr('http://s3.amazonaws.com/'); if (is_null($responseStr)) { // Failed. Show the last request header, response header, // and response body. print $http->lastHeader() . "\n"; print '---' . "\n"; print $http->lastResponseHeader() . "\n"; print '---' . "\n"; print $http->lastErrorText() . "\n"; } else { // Success is indicated by an empty response string, and // a response status of 204. if ($http->LastStatus == 204) { print 'Bucket deleted!' . "\n"; // Let's check out the response header anyway... print $http->lastResponseHeader() . "\n"; } else { // Is this a temporary redirect? if ($http->LastStatus == 307) { // The new endpoint is in the XML contained within responseStr. $xml = new COM("Chilkat.Xml"); $xml->LoadXml($responseStr); $endpoint = $xml->getChildContent('Endpoint'); $responseStr = $http->quickDeleteStr($endpoint); if ($http->LastStatus == 204) { print 'Bucket deleted after redirect!' . "\n"; // Let's check out the response header anyway... print $http->lastResponseHeader() . "\n"; } else { // What happened??? print 'LastStatus: ' . $http->LastStatus . "\n"; print '---' . "\n"; print $responseStr . "\n"; print '---' . "\n"; print $http->lastHeader() . "\n"; print '---' . "\n"; print $http->lastResponseHeader() . "\n"; print '---' . "\n"; print $http->lastErrorText() . "\n"; } } else { // What response is this??? print 'LastStatus: ' . $http->LastStatus . "\n"; print '---' . "\n"; print $responseStr . "\n"; print '---' . "\n"; // Failed. Show the last request header, response header, // and response body. print $http->lastHeader() . "\n"; print '---' . "\n"; print $http->lastResponseHeader() . "\n"; print '---' . "\n"; print $http->lastErrorText() . "\n"; } } } ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.