composer require tamasmazuk/amazon-s3-php-class
- SignatureDoesNotMatch error bugfix merged: tpyo#175
OO method (e,g; $s3->getObject(...)):
$s3 = new S3($awsAccessKey, $awsSecretKey);
Statically (e,g; S3::getObject(...)):
S3::setAuth($awsAccessKey, $awsSecretKey);
Put an object from a file:
S3::putObject(S3::inputFile($file, false), $bucketName, $uploadName, S3::ACL_PUBLIC_READ)
Put an object from a string and set its Content-Type:
S3::putObject($string, $bucketName, $uploadName, S3::ACL_PUBLIC_READ, array(), array('Content-Type' => 'text/plain'))
Put an object from a resource (buffer/file size is required - note: the resource will be fclose()'d automatically):
S3::putObject(S3::inputResource(fopen($file, 'rb'), filesize($file)), $bucketName, $uploadName, S3::ACL_PUBLIC_READ)
Get an object:
S3::getObject($bucketName, $uploadName)
Save an object to file:
S3::getObject($bucketName, $uploadName, $saveName)
Save an object to a resource of any type:
S3::getObject($bucketName, $uploadName, fopen('savefile.txt', 'wb'))
Copy an object:
S3::copyObject($srcBucket, $srcName, $bucketName, $saveName, $metaHeaders = array(), $requestHeaders = array())
Delete an object:
S3::deleteObject($bucketName, $uploadName)
Get a list of buckets:
S3::listBuckets() // Simple bucket list
S3::listBuckets(true) // Detailed bucket list
Create a bucket:
S3::putBucket($bucketName)
Get the contents of a bucket:
S3::getBucket($bucketName)
Delete an empty bucket:
S3::deleteBucket($bucketName)