PHP Classes
elePHPant
Icontem

PHP Cloud Storage Abstraction: Store and retrieve data in multiple cloud services

Recommend this page to a friend!

  Author Author  
Name: Alexandre Sinício <contact>
Classes: 6 packages by
Country: Brazil Brazil
Innovation award
Innovation award
Nominee: 2x


  Detailed description   Download Download .zip .tar.gz   Install with Composer Install with Composer  
This package can store and retrieve data in multiple cloud services.

It provides a common interface to access different storage services that implement functions like listing, uploading, downloading and deleting files.

Currently it provides classes that implement the storage interface to access Amazon S3 and local files storage. Others can be provided in the future by implementing the same interface.

Details

Abstract Storage

Storing and retrieving files with PHP is easy... right?

Yes, it is, until you find out that you were storing files in your local server and now needs to change that to Amazon S3, Google or whatever.

You hard-coded a lot of stuff in your code, and when you start to "rewire" stuff, everything starts to break. It hurts.

The objective of this repo is to create an interface for file storage. This allow us to separate the implementation for each storage provider and the actual code which just want to store/retrieve/delete a file.

The basic implementation for local storage and Amazon S3 are included.

Feel free to contribute, criticize, extend and use.

Terminology

Some storage providers use different terminology for stuff. It can lead to confusion, and there's no way around it except choosing what seems the "best fit" for everything.

We use the term bucket on the interface as a way to represent a logic place where files are stored. In Amazon S3, that is a native term. In local storage, bucket just means directory/folder.

Dependencies

The interface itself does not have any dependencies. However the Amazon S3 implementation does. I suggest to use Composer and get the "aws/aws-sdk-php" package. Everything should be there.

Examples

Basic general examples

//OBJECT CREATION/INITIALIZATION -- SHOULD BE IN YOUR DEPENDENCY INJECTOR CONTAINER
$storageObj = new LocalStorage();
$storageObj::setBaseStorageLocation('../storage');

//ARCHIVE A FILE
try {
	$fileUID = $storage->putFile('myfile.txt', 'mybucket');
} catch (Exception $e) {
	die($e->getMessage());
}

//DOWNLOAD A FILE
try {
	$storage->getFile($fileUID, 'output_name.txt', 'mybucket');
} catch (Exception $e) {
	die($e->getMessage());
}

  Classes of Alexandre Sinício  >  PHP Cloud Storage Abstraction  >  Download Download .zip .tar.gz  >  Support forum Support forum (1)  >  Blog Blog  >  RSS 1.0 feed RSS 2.0 feed Latest changes  
Name: PHP Cloud Storage Abstraction
Base name: abstractstorage
Description: Store and retrieve data in multiple cloud services
Version: 1.000.000
PHP version: 5
License: GNU General Public License (GPL)
 
  Groups   Applications   Files Files  

  Groups  
Group folder image PHP 5 Classes using PHP 5 specific features View top rated classes
Group folder image Files and Folders Listing, accessing and manipulating files and folders View top rated classes
Group folder image Web services Web data clipping, SOAP or XML-RPC clients and servers View top rated classes


  Innovation Award  
PHP Programming Innovation award nominee
March 2018
Number 5
Nowadays there are many cloud services that provide services for hosting data files.

This package provide an abstraction, so developers can use different cloud data storage provides to store and retrieve files.

Manuel Lemos

  Applications that use this package  
No pages of applications that use this class were specified.

Add link image If you know an application of this package, send a message to the author to add a link here.

  Files folder image Files  
File Role Description
Files folder imageexamples (4 files)
Files folder imagevendor (1 directory)
Accessible without login Plain text file bootstrap.php Example Example script
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  examples  
File Role Description
  Accessible without login Plain text file 01-adding-file.php Example Example script
  Accessible without login Plain text file 02-downloading-file.php Example Example script
  Accessible without login Plain text file 03-deleting-file.php Example Example script
  Accessible without login Plain text file 04-calculating-used-quota.php Example Example script

  Files folder image Files  /  vendor  
File Role Description
Files folder imageSinFramework (1 directory)

  Files folder image Files  /  vendor  /  SinFramework  
File Role Description
Files folder imageStorage (4 files)

  Files folder image Files  /  vendor  /  SinFramework  /  Storage  
File Role Description
  Plain text file AWSS3Storage.php Class Class source
  Plain text file LocalStorage.php Class Class source
  Plain text file StorageCommon.php Class Class source
  Plain text file StorageInterface.php Class Class source

Install with Composer Install with Composer - Download Download all files: abstractstorage.tar.gz abstractstorage.zip
NOTICE: if you are using a download manager program like 'GetRight', please Login before trying to download this archive.