PHP Classes

PHP AWS S3 Client SDK Wrapper: Manage files stored in the AWS S3 cloud storage

Recommend this page to a friend!

  Author Author  
Picture of Ogbemudia Osayawe
Name: Ogbemudia Osayawe <contact>
Classes: 7 packages by
Country: Germany Germany
Innovation award
Innovation award
Nominee: 4x


  Detailed description   Download Download .zip .tar.gz  
This package can manage files stored in the AWS S3 cloud storage.

It can call the PHP AWS SDK client classes to send HTTP requests to the AWS to perform several types of operations on files stored in the AWS S3 service.

Currently, it can access the account of the AWS service user and:

- Store the contents of a given local file in a directory

- Get the data contents of a given bucket of a directory

- Get the list of buckets

- Get the URL of a given bucket

- Get the contents of a bucket with a given key

- Delete a bucket with a given key

Details

aws-sdk-php-wrapper

A simple wrapper over aws php sdk to perform basic file management task

Installation

composer require devscreencast/aws-sdk-php-wrapper

Basic Usage

Environment Variables

Create a .env file with the following:

AWS_ACCESS_KEY_ID=your_key AWS_SECRET_ACCESS_KEY=your_secret

<?php
require_once 'vendor/autoload.php';
use Devscreencast\S3Wrapper\Storage;

#load environment variables
$env = new \Dotenv\Dotenv('path_to/.env');
$env->load();

try{
    /
     * Create an instance of Devscreencast\S3Wrapper\Storage class
     * and pass in config array
     */
    $storage = new Storage([
       'region' => 'us-east-1',
       'version' => 'latest',
       'bucket' => ''
    ]);
    
    if(isset($_POST['submit'])){
        $name = $_FILES['file']['name'];
        if(!$name){
            $msg = 'Please select a file';
        }
        
      /
       * @param $key, the name given to the file upload field in the html form
       * @param $folder (optional) if omitted file in placed inside bucket
       * @param $filename (optional) if omitted a unique filename is generated
       * @param $options (optional) https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobject
       */
       $path = $storage->store('file', 'avatars/', $name);
    }
    
    # delete a file from bucket
    if(isset($_GET['delete'])){
        $item = $_GET['delete'];
        if(!$item){
            $msg = 'Item is required';
        }else{
            if($storage->delete($item)){
                $msg = $item . ' deleted successfully';
            }else{
                $msg = 'Item not found';
            }
        }
    }
    
    # get all objects from a buckets as iterator instance
    $bucket_contents = $storage->getBucketContents();
    foreach ($bucket_contents as $bucket_content){
            echo $bucket_contents['Key'] . '<br />';
    }
   
}catch (Exception $ex){
    die($ex->getMessage());
}

For complete example / demo refer to example folder


  Classes of Ogbemudia Osayawe  >  PHP AWS S3 Client SDK Wrapper  >  Download Download .zip .tar.gz  >  Support forum Support forum  >  Blog Blog  >  RSS 1.0 feed RSS 2.0 feed Latest changes  
Name: PHP AWS S3 Client SDK Wrapper
Base name: aws-sdk-php-wrapper
Description: Manage files stored in the AWS S3 cloud storage
Version: -
PHP version: 5
License: MIT/X Consortium License
 
  Groups   Applications   Files Files  

  Groups  
Group folder image PHP 5 Classes using PHP 5 specific features View top rated classes
Group folder image Web services Web data clipping, SOAP or XML-RPC clients and servers View top rated classes


  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 imageexample (2 files)
Files folder imagesrc (1 file, 1 directory)
Accessible without login Plain text file .env.example Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file README.md Doc. Read me

  Files folder image Files  /  example  
File Role Description
  Accessible without login Plain text file app.php Example Example script
  Accessible without login Plain text file index.php Example Example script

  Files folder image Files  /  src  
File Role Description
Files folder imagehelpers (2 files)
  Plain text file Storage.php Class Class source

  Files folder image Files  /  src  /  helpers  
File Role Description
  Plain text file FileUploadHelper.php Class Class source
  Accessible without login Plain text file functions.php Aux. Auxiliary script

Download Download all files: aws-sdk-php-wrapper.tar.gz aws-sdk-php-wrapper.zip
NOTICE: if you are using a download manager program like 'GetRight', please Login before trying to download this archive.
For more information send a message to info at phpclasses dot org.