CI =& get_instance(); $this->s3_properties = array('region'=>'ap-south-1','version'=>'latest','credentials' => array( 'key' =>$this->CI->config->item('s3_resource_key'), 'secret' => $this->CI->config->item('s3_resource_secret') )); $this->S3 = S3Client::factory($this->s3_properties); // echo "Called"; // $this->setCors('lender8');die(); } public function listAllBuckets() { $buckets = array(); try{ $buckets = $this->S3->listBuckets(); } catch(AwsException $e){ // echo $e->getMessage(); // echo "\n"; . } return $buckets; } public function createNewBucket($BUCKET_NAME) { try { $result = $this->S3->createBucket(['ACL' => 'private','Bucket' => $BUCKET_NAME]); return $result; } catch (AwsException $e) { //output error message if fails log_message('ERROR', $e->getMessage()); return $e->getMessage(); //echo "\n"; } } public function uploadFileToS3Bucket($data) { $result = ""; try { $result = $this->S3->putObject([ 'Bucket' => $data['bucket_name'], 'Key' => $data['key'], 'SourceFile' => $data['sourcefile'], 'ContentType' => '*/*', 'StorageClass' => 'STANDARD', 'ACL'=>'private' ]); } catch (AwsException $e) { $result = false;; } return $result; } /* This Function return signed URI of single S3 Object*/ public function getSingleObjectInaBucketAsSignedURI($bucket_name,$folder_name,$time = '+5 minutes')//get as singed url { $result = array(); try { // $result = $this->S3->getObject([ // 'Bucket' => 'thecucumber', // 'Key' => 'byapi/woodgrass1.jpg' // //'ResponseContentType' => 'image/png' // //'ResponseContentDisposition' => 'attachment; woodgrass1.jpg', // ]); $cmd = $this->S3->getCommand('GetObject', [ 'Bucket' => $bucket_name, 'Key' => $folder_name ]); $request = $this->S3->createPresignedRequest($cmd, $time); $presignedUrl = (string) $request->getUri(); } catch(AwsException $e) { return $e->getMessage(); } return $presignedUrl; } public function getS3SingleObj($bucket_name,$folder_name,$time = '+5 minutes') { //echo $time;die(); $result = $this->S3->getObject([ 'Bucket' => $bucket_name, 'Key' => $folder_name //'ResponseContentType' => 'image/png' //'ResponseContentDisposition' => 'attachment; woodgrass1.jpg', ]); return result; } // Get List of objetcs as byte(Raw file). public function getAllObjectsInaBucket($bucket_name,$folder_name) { $objects = array(); try { $objects = $this->S3->getIterator('ListObjects', [ 'Bucket' => $bucket_name, 'Prefix' => $folder_name ]); // echo "Keys retrieved!" ; // //print_r($objects); // foreach ($objects as $object) { // print_r($object) ; // } } catch (S3Exception $e) { echo $e->getMessage() . PHP_EOL; } return $objects; } // Delete an object from the bucket. public function deleteSingleObjFromBucket($bucket,$key) { $result = $this->S3->deleteObject([ 'Bucket' => $bucket, 'Key' => $key ]); return $result; } public function setCors($BUCKETNAME) { $result = $this->S3->putBucketCors([ 'Bucket' => $BUCKETNAME, 'CORSConfiguration' => [ 'CORSRules' => [ [ 'AllowedHeaders' => [ '*', ], 'AllowedMethods' => [ 'PUT', 'POST', 'DELETE', ], 'AllowedOrigins' => [ '*', ], 'ExposeHeaders' => [ 'x-amz-server-side-encryption', ], 'MaxAgeSeconds' => 3000, ], [ 'AllowedHeaders' => [ 'Authorization', ], 'AllowedMethods' => [ 'GET', ], 'AllowedOrigins' => [ '*', ], 'MaxAgeSeconds' => 3000, ], ], ] ]); return $result; } public function getCORES($BUCKETNAME) { $result = $this->S3->getBucketCors([ 'Bucket' => $BUCKETNAME]); //////print_r($result); } } ?>