The basic php file provided by Amazon AWS in 2006 and updated in 2007 to manage S3 accounts requires the PEAR modules Crypt_HMAC and HTTP_Request.
Today there are several php open source toolkits available which are well documented, easy to set up and offering extended features :
- undesigned S3 php class : a standalone Amazon S3 REST implementation for PHP 5.2.x (using CURL), that supports large file uploads and doesn’t require PEAR. The latest version is 0.4.0 published on july 20, 2009. The developer is Donovan Schonknecht, a web/mobile application developer based in Cape Town, South Africa. The sourcecode is available at the Google Code website.
- Tarzan : a fast, powerful PHP toolkit for building web applications with Amazon Web Services. The latest version is 2.0.5 released on august 14, 2009. The developer is Ryan Parman. The sourcecode is available at the Google Code website. User Metadata is managed if the HTTP header has the prefix x-amz-meta- (example: header : x-amz-meta-city value: Luxembourg).
- CloudFusion : a rebranded version of Tarzan to better reflect the beyond-Amazon evolution of the product. Tarzan 2.5 will be CloudFusion 2.5 and will come with a refreshed website, documentation, examples, and other goodies. The sourcecode is available at the Google Code website.
- Amazon GS3 : a stream wrapper to get and send files to Amazon S3, developed by Cesar D. Rodas from Paraguay.
A list of some Amazon S3 php code examples is shown hereafter :
- Amazon S3 example, by Sajith Muraleedharan Pillai (Sajith M.R), Technology Consultant, Web Developer (PHP, MVC, Agile, LAMP) who currently work as Technology Consultant for Cyber-Duck , an UK based company
- How to Use Amazon S3 & PHP to Dynamically Store and Manage Files with Ease, by Jürgen Visser
- Amazon S3 Tools, Using PHP, by Dave Koopman
- Amazon Simple Storage Service [S3], by Sam Keen
- Downloading files from Amazon S3, by AnyExample
- Using Amazon S3 to serve static files, by Bart Jansens
- Deploying StoreGrid Online Backup on Amazon EC2 / S3, by Vembu
- Browser Uploads to S3 using HTML POST Forms, by James Murty