ok

Mini Shell

Direktori : /proc/thread-self/root/proc/self/root/home2/selectio/public_html/application/models/
Upload File :
Current File : //proc/thread-self/root/proc/self/root/home2/selectio/public_html/application/models/Aws_model.php

<?php
defined('BASEPATH') or exit('No direct script access allowed');

// Require the Composer autoloader.
require APPPATH . 'third_party/aws-sdk/vendor/autoload.php';

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

class Aws_model extends CI_Model
{
    public function __construct()
    {
        parent::__construct();
        $this->key = $this->storage_settings->aws_key;
        $this->secret = $this->storage_settings->aws_secret;
        $this->bucket = $this->storage_settings->aws_bucket;
        $this->region = $this->storage_settings->aws_region;

        $credentials = new Aws\Credentials\Credentials($this->key, $this->secret);
        $this->s3 = new S3Client([
            'version' => 'latest',
            'region' => $this->region,
            'credentials' => $credentials
        ]);
    }

    //put product object
    public function put_product_object($file_name, $temp_path)
    {
        $key = "uploads/images/" . $file_name;
        $this->put_object($key, $temp_path);
    }

    //put file manager image object
    public function put_file_manager_image_object($file_name, $temp_path)
    {
        $key = "uploads/images-file-manager/" . $file_name;
        $this->put_object($key, $temp_path);
    }

    //put video object
    public function put_video_object($file_name, $temp_path)
    {
        $key = "uploads/videos/" . $file_name;
        $this->put_object($key, $temp_path);
    }

    //put audio object
    public function put_audio_object($file_name, $temp_path)
    {
        $key = "uploads/audios/" . $file_name;
        $this->put_object($key, $temp_path);
    }

    //put blog object
    public function put_blog_object($key, $temp_path)
    {
        $this->put_object($key, $temp_path);
    }

    //put category object
    public function put_category_object($key, $temp_path)
    {
        $this->put_object($key, $temp_path);
    }

    //delete product object
    public function delete_product_object($file_name)
    {
        $key = "uploads/images/" . $file_name;
        $this->delete_object($key);
    }

    //delete file manager image object
    public function delete_file_manager_image_object($file_name)
    {
        $key = "uploads/images-file-manager/" . $file_name;
        $this->delete_object($key);
    }

    //delete video object
    public function delete_video_object($file_name)
    {
        $key = "uploads/videos/" . $file_name;
        $this->delete_object($key);
    }

    //delete audio object
    public function delete_audio_object($file_name)
    {
        $key = "uploads/audios/" . $file_name;
        $this->delete_object($key);
    }

    //delete blog object
    public function delete_blog_object($key)
    {
        $this->delete_object($key);
    }

    //delete category object
    public function delete_category_object($key)
    {
        $this->delete_object($key);
    }

    //put support object
    public function put_support_object($key, $temp_path)
    {
        $this->put_object($key, $temp_path);
    }

    //put object
    public function put_object($key, $temp_path)
    {
        if (file_exists($temp_path)) {
            try {
                $file = fopen($temp_path, 'r');
                $this->s3->putObject([
                    'Bucket' => $this->bucket,
                    'Key' => $key,
                    'Body' => $file,
                    'ACL' => 'public-read'
                ]);
                fclose($file);
                return true;
            } catch (S3Exception $e) {
                echo $e->getMessage() . PHP_EOL;
            }
        }
    }

    //delete object
    public function delete_object($key)
    {
        if (!empty($key)) {
            try {
                $this->s3->deleteObject([
                    'Bucket' => $this->bucket,
                    'Key' => $key
                ]);
            } catch (S3Exception $e) {
                echo $e->getMessage() . PHP_EOL;
            }
        }
    }

}

Zerion Mini Shell 1.0