Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML-to-XML
HTTP
IMAP
MHT / HTML Email
MIME
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip


 

 

 

 

 

 

 

 

Amazon S3 - Create Bucket with Constraint

Create an Amazon S3 bucket with a constraint using the REST API.

Download Chilkat XML ActiveX

Download Chilkat Crypt ActiveX

Download Chilkat HTTP ActiveX

<?php

$http = new COM("Chilkat.Http");
$success = $http->UnlockComponent('Anything for 30-day trial.');
if ($success != true) {
    //  Unlock failed.
    print $http->lastErrorText() . "\n";
    exit;
}

//  Create the XML contraint for the bucket:
//  <CreateBucketConfiguration>
//          <LocationConstraint>EU</LocationConstraint>
//  </CreateBucketConfiguration>
$xml = new COM("Chilkat.Xml");
$xml->Tag = 'CreateBucketConfiguration';
$xml->NewChild2('LocationConstraint','EU');
print $xml->getXml() . "\n";

$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();

//  The PUT request operation with a bucket URI creates a new bucket.
$strToSign = 'PUT' . "\n" . "\n" . 'text/xml' . "\n" . $curDateTime . "\n" . '/chilkat2/';

//  We want SHA1 for the HMAC hash algorithm:
$crypt->HashAlgorithm = 'sha1';

//  These must be changed for your account:
$AWSAccessKeyId = 'zzzzzzzzzzzzzzzzzzzz';
$AWSSecretAccessKey = 'zzzzzzzzzzzzzzzzzzzzzzzzzz';

//  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 created is specified in the Host header.
//  In this example, the "chilkat2" bucket is created:
$http->SetRequestHeader('Host','chilkat2.s3.amazonaws.com');

$http->SetRequestHeader('Authorization',$authValue);
$http->SetRequestHeader('Date',$curDateTime);

$xmlResponse = $http->xmlRpcPut('http://s3.amazonaws.com/',$xml->getXml());
if (is_null($xmlResponse)) {
    print 'NULL response' . "\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";
}
else {

    //  Success is indicated by an empty xmlResponse string, and
    //  a response status of 200.
    if ($http->LastStatus == 200) {
        print 'Bucket created!' . "\n";

        //  Let's check out the response header anyway...
        print $http->lastResponseHeader() . "\n";

    }
    else {
        print 'LastStatus: ' . $http->LastStatus . "\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.