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 "<br />Bucket created Successfully";
}
else
{
echo "<br />Bucket Not Created Successfully";
}
}
create_bucket
("Bucket Name",PUT,PRIVATE
);