50 lines
1.5 KiB
PHP
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();
|
|
} |