1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-30 18:52:42 +01:00
phorge-phorge/externals/s3
epriestley bd3a14f248 Add an Amazon S3 storage engine for Phabricator
Summary: Implements an S3 storage engine option for Phabricator.
Test Plan:
  - Uploaded files to S3.
  - Looked at them.
  - Verified they appeared in S3 using the S3 file browser.

Reviewed By: jungejason
Reviewers: jungejason, tuomaspelkonen, aran
CC: aran, jungejason
Differential Revision: 752
2011-08-03 10:58:03 -07:00
..
README.txt Add an Amazon S3 storage engine for Phabricator 2011-08-03 10:58:03 -07:00
S3.php Add an Amazon S3 storage engine for Phabricator 2011-08-03 10:58:03 -07:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

AMAZON S3 PHP CLASS


USING THE CLASS

OO method (e,g; $s3->getObject(...)):
$s3 = new S3(awsAccessKey, awsSecretKey);

Statically (e,g; S3::getObject(...)):
S3::setAuth(awsAccessKey, awsSecretKey);


For class documentation see:
http://undesigned.org.za/files/s3-class-documentation/index.html


OBJECTS


Put an object from a string:
	$s3->putObject($string, $bucketName, $uploadName, S3::ACL_PUBLIC_READ)
	Legacy function: $s3->putObjectString($string, $bucketName, $uploadName, S3::ACL_PUBLIC_READ)


Put an object from a file:
	$s3->putObject($s3->inputFile($file, false), $bucketName, $uploadName, S3::ACL_PUBLIC_READ)
	Legacy function: $s3->putObjectFile($uploadFile, $bucketName, $uploadName, S3::ACL_PUBLIC_READ)


Put an object from a resource (buffer/file size is required):
	Please 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)



BUCKETS


Get a list of buckets:
	$s3->listBuckets()  // Simple bucket list
	$s3->listBuckets(true)  // Detailed bucket list


Create a public-read bucket:
	$s3->putBucket($bucketName, S3::ACL_PUBLIC_READ)
	$s3->putBucket($bucketName, S3::ACL_PUBLIC_READ, 'EU') // EU-hosted bucket


Get the contents of a bucket:
	$s3->getBucket($bucketName)


Get a bucket's location:
	$s3->getBucketLocation($bucketName)


Delete a bucket:
	$s3->deleteBucket($bucketName)




KNOWN ISSUES

	Files larger than 2GB are not supported on 32 bit systems due to PHPs signed integer problem



MORE INFORMATION


	Project URL:
	http://undesigned.org.za/2007/10/22/amazon-s3-php-class

	Class documentation:
	http://undesigned.org.za/files/s3-class-documentation/index.html

	Bug reports:
	https://github.com/tpyo/amazon-s3-php-class/issues

	Amazon S3 documentation:
	http://docs.amazonwebservices.com/AmazonS3/2006-03-01/


EOF