config = $config; } public function submit($file_path) { $bucket = $GLOBALS['config']['upload']['api']['s3']['bucket']; $accessKey = $GLOBALS['config']['upload']['api']['s3']['accesskey']; $secretKey = $GLOBALS['config']['upload']['api']['s3']['secretkey']; $region = $GLOBALS['config']['upload']['api']['s3']['region']; require_once ROOT_PATH . 'extend/aws/autoload.php'; $s3 = new S3Client([ 'region' => $region, 'version' => '2006-03-01', 'credentials' => [ 'key' => $accessKey, 'secret' => $secretKey ] ]); try { $filePath = ROOT_PATH . $file_path; $result = $s3->putObject([ 'Bucket' => $bucket, 'Key' => $file_path, 'Body' => fopen($filePath, 'r'), 'ACL' => 'public-read' ]); } catch (AwsException $e) { echo $e->getMessage() . "\n"; } empty($this->config['keep_local']) && @unlink($filePath); return $result['ObjectURL']; } }