Pisah server penyimpanan dan update payment gateway

This commit is contained in:
WD - Dev
2025-11-10 17:44:35 +07:00
parent 6017dfd369
commit 4a7c248fff
3044 changed files with 1586515 additions and 481 deletions
+125 -28
View File
@@ -1,29 +1,126 @@
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_FILES['file']) && $_FILES['file']['error'] === UPLOAD_ERR_OK) {
$uploadDir = '../img/user/';
$fileExt = ".".pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$fileName = "bilspro_".date('YmdHis').$fileExt;
$uploadFile = $uploadDir . $fileName;
$formId = $_POST['formId'];
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)) {
// Menyimpan nama file dalam variabel session
if (!isset($_SESSION['uploaded_files'])) {
$_SESSION['uploaded_files'] = [];
}
$_SESSION['uploaded_files'][$formId] = $fileName;
echo 'File successfully uploaded.';
} else {
echo 'Error uploading file.';
}
} else {
echo 'No file uploaded or upload error.';
}
} else {
echo 'Invalid request method.';
}
<?php
session_start();
require '../minio/vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;
/**
* Buat koneksi MinIO
*/
function minioClient() {
return new S3Client([
'version' => 'latest',
'region' => 'us-east-1',
'endpoint' => 'https://storage.manjapro.net',
'use_path_style_endpoint' => true,
'credentials' => [
'key' => 'admin',
'secret' => '@P4ssw0rd',
],
'suppress_php_deprecation_warning' => true,
]);
}
/**
* Upload file ke MinIO
*/
function minioUpload($bucket, $key, $sourceFile) {
$s3 = minioClient();
try {
$result = $s3->putObject([
'Bucket' => $bucket,
'Key' => $key,
'SourceFile' => $sourceFile,
'ACL' => 'public-read', // opsional
]);
return $result['ObjectURL'];
} catch (S3Exception $e) {
error_log("MinIO Upload Error: " . $e->getMessage());
return false;
}
}
/**
* Upload lokal dan MinIO
*/
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_FILES['file']) && $_FILES['file']['error'] === UPLOAD_ERR_OK) {
$uploadDir = '../img/user/';
if (!is_dir($uploadDir)) mkdir($uploadDir, 0777, true);
$fileExt = "." . pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$fileName = "bilspro_" . date('YmdHis') . $fileExt;
$uploadFile = $uploadDir . $fileName;
$formId = $_POST['formId'];
// --- 1️⃣ Upload ke server lokal ---
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)) {
// --- 2️⃣ Upload ke MinIO ---
$minioUrl = minioUpload('files', 'user/' . $fileName, $uploadFile);
// Simpan info file ke session
if (!isset($_SESSION['uploaded_files'])) {
$_SESSION['uploaded_files'] = [];
}
$_SESSION['uploaded_files'][$formId] = $fileName;
// $_SESSION['uploaded_files'][$formId] = [
// 'local' => $fileName,
// 'minio' => $minioUrl ?: null
// ];
// --- Respons sukses ---
echo json_encode([
'status' => 'success',
'message' => 'File berhasil diupload.',
'local_path' => $uploadFile,
'minio_url' => $minioUrl
]);
} else {
echo json_encode(['status' => 'error', 'message' => 'Gagal upload ke server lokal.']);
}
} else {
echo json_encode(['status' => 'error', 'message' => 'Tidak ada file diupload atau terjadi error.']);
}
} else {
echo json_encode(['status' => 'error', 'message' => 'Invalid request method.']);
}
// session_start();
// if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// if (isset($_FILES['file']) && $_FILES['file']['error'] === UPLOAD_ERR_OK) {
// $uploadDir = '../img/user/';
// $fileExt = ".".pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
// $fileName = "bilspro_".date('YmdHis').$fileExt;
// $uploadFile = $uploadDir . $fileName;
// $formId = $_POST['formId'];
// if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)) {
// // Menyimpan nama file dalam variabel session
// if (!isset($_SESSION['uploaded_files'])) {
// $_SESSION['uploaded_files'] = [];
// }
// $_SESSION['uploaded_files'][$formId] = $fileName;
// echo 'File successfully uploaded.';
// } else {
// echo 'Error uploading file.';
// }
// } else {
// echo 'No file uploaded or upload error.';
// }
// } else {
// echo 'Invalid request method.';
// }
?>