minio-upload/upload.php
Kwesi Banson Jnr c3894602f2 Initial commit
2026-03-19 18:54:07 +00:00

50 lines
1.5 KiB
PHP

<?php
require 'vendor/autoload.php'; // Load AWS SDK for PHP
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
// MinIO connection settings
$minioConfig = [
'version' => 'latest',
'region' => 'gh-greater-accra-dzen-ayor-home',
'endpoint' => 'http://192.168.68.152:9201',
'use_path_style_endpoint' => true,
'credentials' => [
'key' => 'c7TpMCcy8txJftPu12Za', // MinIO Access Key
'secret' => 'NpbiqTjYkUDxUjliOP5fmXaTu6fOSWoKKJXnK1Ev', // MinIO Secret Key
],
];
$bucketName = 'permituploads';
try {
// Validate file upload
if (!isset($_FILES['fileToUpload']) || $_FILES['fileToUpload']['error'] !== UPLOAD_ERR_OK) {
throw new Exception("File upload failed. Please try again.");
}
$uploadedFile = $_FILES['fileToUpload']['tmp_name'];
$originalName = basename($_FILES['fileToUpload']['name']);
// Create S3 client
$s3Client = new S3Client($minioConfig);
// Upload file to MinIO
$result = $s3Client->putObject([
'Bucket' => $bucketName,
'Key' => 'uploads/' . $originalName,
'SourceFile' => $uploadedFile,
'ACL' => 'private',
]);
echo "<p>File uploaded successfully!</p>";
echo "<p>Object URL: <a href='{$result['ObjectURL']}' target='_blank'>{$result['ObjectURL']}</a></p>";
}
catch (AwsException $e) {
echo "SDK Error: " . $e->getMessage();
}
catch (Exception $e) {
echo "General Error: " . $e->getMessage();
}