require_once 'Crypt/HMAC.php'; require_once 'HTTP/Request.php'; define ('DATE_RFC822',"D, d M Y G:i:s O"); define ('S3_URL',"http://s3.amazonaws.com/"); define ('KEYID',"Amazon Account Key ID"); define ('SECRETKEY',"Amazon Account Secret Key"); define ('PRIVATE',"private"); define ('PUT',"PUT"); function create_bucket($bucketname, $method = PUT, $acl = PRIVATE) { $httpDate = gmdate(DATE_RFC822); $stringToSign = "$method\n\n\n$httpDate\nx-amz-acl:$acl\n/$bucketname"; $hasher =& new Crypt_HMAC(SECRETKEY, "sha1"); $signature = hex2b64($hasher->hash($stringToSign)); $req =& new HTTP_Request(S3_URL . $bucketname); $req->setMethod($method); $req->addHeader("Date", $httpDate); $req->addHeader("Authorization", "AWS " . KEYID . ":" . $signature); $req->addHeader("x-amz-acl", $acl); $req->sendRequest(); if ($req->getResponseCode() == 200) { echo "
Bucket created Successfully"; } else { echo "
Bucket Not Created Successfully"; } } create_bucket("Bucket Name",PUT,PRIVATE);