Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mikesmullin/cakephp-aws-s3-plugin

CakePHP Framework Plugin for third-party Amazon Web Services Simple Storage Service (S3) library
https://github.com/mikesmullin/cakephp-aws-s3-plugin

Last synced: about 1 month ago
JSON representation

CakePHP Framework Plugin for third-party Amazon Web Services Simple Storage Service (S3) library

Awesome Lists containing this project

README

        

CakePHP AWS S3 Plugin by Mike Smullin
============

** Lets you use AWS S3 within the CakePHP environment via datasource to third-party library. **

Installation & Usage
------------

Place this directory in your plugins dir:

./app/plugins/amazon_s3/

Update your ./app/config/database.php with a reference to the plugin datasource:

var $amazon_s3 = array(
'datasource' => 'AmazonS3.AmazonS3',
'access_key' => 'YOUR_ACCESS_KEY_HERE',
'secret_key' => 'YOUR_SECRET_KEY_HERE'
);

Create a new model referencing this database configuration:

e.g. in ./app/models/amazon_s3_bucket1.php:

class AmazonS3Bucket1 extends AppModel {
var $useDbConfig = 'amazon_s3',
$useTable = false,
$bucket = 'bucket1';
}

Now reference from your controller action like any other model:

try {
$this->loadModel('AmazonS3Bucket1');
$this->AmazonS3Bucket1->init(); // necessary for now; maybe not in the future
$this->AmazonS3Bucket1->putObjectFile('/tmp/image.jpg', $this->AmazonS3Bucket1->bucket, 'public_image_url.jpg', S3::ACL_PUBLIC_READ);
} catch (Exception $e) {
die('Failed to move image to public CDN.');
}

See third-party S3 library documentation in plugin ./vendors/php-amazon-s3/README.txt for further details:

Credits
------------

CakePHP-AWS-S3-Plugin is written by Mike Smullin and is released under the WTFPL.

S3 library is written by Donovan Schönknecht see http://undesigned.org.za/2007/10/22/amazon-s3-php-class