Step 1: Install Required Packages
sudo apt update
sudo apt install php php-cli php-zip unzip
sudo apt install php-xml
sudo mv composer.phar /usr/local/bin/composer
Make It Executable:
cd /path/to/your/project
composer init
composer require aws/aws-sdk-php
#############
<?phprequire 'vendor/autoload.php';
use Aws\S3\S3Client;use Aws\Exception\AwsException;
// Create a new S3 client$s3Client = new S3Client([ 'region' => 'us-east-1', // e.g. us-west-2 'version' => 'latest', 'credentials' => [ 'key' => 'AKMNB#888888PA', 'secret' => 'I54444444444444a' ],]);
$bucket = 'asteriskrecordings';$filePath = "$argv[1]"; // Local file path$keyName = basename($filePath); // Use the base name of the file
try { // Upload the file $result = $s3Client->putObject([ 'Bucket' => $bucket, 'Key' => $keyName, 'SourceFile' => $filePath ]);
echo "File uploaded successfully. File URL: " . $result['ObjectURL'] . "\n";} catch (AwsException $e) { // Output error message if upload fails echo "Error uploading file: " . $e->getMessage() . "\n";}?>
...........
function version
<?phprequire '/root/fm/aws/vendor/autoload.php';
use Aws\S3\S3Client;use Aws\Exception\AwsException;
// Create a new S3 client with hardcoded credentials$s3Client = new S3Client([ 'region' => 'us-east-1', // AWS region (e.g., us-west-2, us-east-1) 'version' => 'latest', // Use the latest version of the API 'credentials' => [ 'key' => 'AKI11A', // Hardcoded AWS Access Key 'secret' => 'I5HTgA33brbpj/Sz' // Hardcoded AWS Secret Key ],]);
function s3_name_upload($filePath){ $bucket = 'asteriskrecordings'; // Your S3 bucket name
// Validate that the file exists if (!file_exists($filePath)) { echo "Error: The file '$filePath' does not exist.\n"; return; }
$keyName = basename($filePath); // Use the base name of the file for the S3 key
try { // Upload the file to S3 $result = $GLOBALS['s3Client']->putObject([ 'Bucket' => $bucket, 'Key' => $keyName, 'SourceFile' => $filePath ]);
echo "File uploaded successfully. File URL: " . $result['ObjectURL'] . "\n"; } catch (AwsException $e) { // Output error message if upload fails echo "Error uploading file: " . $e->getMessage() . "\n"; }}
// Ensure a file path argument is passed when running the scriptif ($argc < 2) { echo "Usage: php script.php <file-path>\n"; exit(1);}
$filePath = $argv[1]; // Local file path passed as a command-line arguments3_name_upload($filePath);?>