PHPackages                             tabenguyen/cakephp-amazon-s3 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. tabenguyen/cakephp-amazon-s3

ActiveCakephp-plugin

tabenguyen/cakephp-amazon-s3
============================

Cakephp Amazon S3 - Composer version for robmcvey/cakephp-amazon-s3

37081PHP

Since Nov 6Pushed 11y ago2 watchersCompare

[ Source](https://github.com/tabenguyen/cakephp-amazon-s3)[ Packagist](https://packagist.org/packages/tabenguyen/cakephp-amazon-s3)[ RSS](/packages/tabenguyen-cakephp-amazon-s3/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Amazon S3 Plugin for CakePHP 2.x
================================

[](#amazon-s3-plugin-for-cakephp-2x)

A CakePHP Plugin to interact with Amazon Web Services S3 objects. This plugin provides a simple and robust methods that can be added to any CakePHP project to complete the following:

- Retrieve a remote file from an S3 bucket and save locally
- Save a local file in an S3 bucket
- Delete a file in an S3 bucket

### Requirements

[](#requirements)

- CakePHP 2.x
- An Amazon Web Services account ()
- Your AWS access key and secret key

### Installation

[](#installation)

*\[Composer\]*

```
required: "tabenguyen/cakephp-amazon-s3": "dev-master"
```

### Usuage examples

[](#usuage-examples)

Remember to add `CakePlugin::load('CakephpAmazonS3');` to your app's bootstrap file.

Then, simply initialise the plugin with your AWS Access key, secret key and the bucket name you wish to work with.

```
App::uses('AmazonS3', 'CakephpAmazonS3.Lib');
$AmazonS3 = new AmazonS3(array('{access key}', '{secret key}', '{bucket name}'));
```

### GET

[](#get)

The `get` method retrieves a remote file and saves it locally. So let's say there is the file `foo.jpg` on S3 and you want to save it locally in `/home/me/stuff/photos` you'd use the following.

```
$AmazonS3->get('foo.jpg' , '/home/me/stuff/photos');
```

### PUT

[](#put)

The `put` method does the reverse of `get`, and saves a local file to S3.

```
$AmazonS3->put('/home/me/stuff/photos/foo.jpg');
```

You can optionally specifiy a remote directory within the bucket to save the file in.

```
$AmazonS3->put('/home/me/stuff/photos/foo.jpg' , 'some/folder');
```

To add any additional AWS headers to a `put`, example to set the file as "public", they can be passed as an array to the `amazonHeaders` property.

```
$AmazonS3->amazonHeaders = array(
	'x-amz-acl' => 'public-read',
	'X-Amz-Meta-ReviewedBy' => 'john.doe@yahoo.biz'
);
$AmazonS3->put('/home/me/stuff/photos/foo.jpg' , 'some/folder');
```

### DELETE

[](#delete)

Deletes a file from S3.

```
$AmazonS3->delete('foo.jpg');
```

Or delete from within a directory in the bucket:

```
$AmazonS3->delete('/some/folder/foo.jpg');
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0440c2e0f03246f6d0162a07e70a1ca370247f19f5bc93c9fc66623c518625c1?d=identicon)[tabenguyen](/maintainers/tabenguyen)

---

Top Contributors

[![robmcvey](https://avatars.githubusercontent.com/u/222958?v=4)](https://github.com/robmcvey "robmcvey (24 commits)")[![josegonzalez](https://avatars.githubusercontent.com/u/65675?v=4)](https://github.com/josegonzalez "josegonzalez (2 commits)")[![tabenguyen](https://avatars.githubusercontent.com/u/4627326?v=4)](https://github.com/tabenguyen "tabenguyen (2 commits)")

### Embed Badge

![Health badge](/badges/tabenguyen-cakephp-amazon-s3/health.svg)

```
[![Health](https://phpackages.com/badges/tabenguyen-cakephp-amazon-s3/health.svg)](https://phpackages.com/packages/tabenguyen-cakephp-amazon-s3)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
