Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

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


 

 

 

 

 

 

 

 

Amazon S3 - Create Bucket with PUT Request

Demonstrates how to create an Amazon S3 bucket by sending a PUT HTTP request.

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;
}

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

print $curDateTime . "\n";

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

$crypt = new COM("Chilkat.Crypt2");

$success = $crypt->UnlockComponent('Anything for 30-day trial.');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

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

//  These must be changed for your account:
$AWSAccessKeyId = 'zzzzzzzzzzzzzzzzzzzzz';
$AWSSecretAccessKey = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzz';

//  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 "chilkat" bucket is created:
$http->SetRequestHeader('Host','chilkat.s3.amazonaws.com');

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

$xmlResponse = $http->quickPutStr('http://s3.amazonaws.com/');
if (is_null($xmlResponse)) {
    //  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 {
        //  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-2010 Chilkat Software, Inc. All Rights Reserved.