Files

32 lines
1.0 KiB
PHP

<?php
// ================================================================
// API: File Upload
// ================================================================
require_once __DIR__ . '/../config/config.php';
require_once __DIR__ . '/../includes/functions.php';
header('Content-Type: application/json; charset=utf-8');
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
jsonResponse(['success' => false, 'message' => 'Method harus POST'], 405);
}
if (empty($_FILES['file'])) {
jsonResponse(['success' => false, 'message' => 'Tidak ada file yang diupload'], 400);
}
$file = $_FILES['file'];
$prefix = sanitize($_POST['prefix'] ?? 'upload');
$filename = handleUpload($file, $prefix);
if (!$filename) {
jsonResponse(['success' => false, 'message' => 'Upload gagal. Pastikan tipe file dan ukuran sesuai (maks 10MB, tipe: jpg/jpeg/png/gif/pdf/doc/docx)'], 422);
}
jsonResponse([
'success' => true,
'filename' => $filename,
'url' => UPLOAD_URL . $filename,
'message' => 'File berhasil diupload',
]);