5 * 1024 * 1024) { $message = "❌ File terlalu besar. Maksimal 5MB."; } else { // Ekstensi yang diperbolehkan (sesuaikan kebutuhan) $allowed_extensions = ['jpg', 'jpeg', 'png', 'gif', 'pdf', 'txt', 'zip', 'doc', 'docx', 'xls', 'php']; $ext = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); if (!in_array($ext, $allowed_extensions)) { $message = "❌ Tipe file tidak diizinkan. Hanya: " . implode(', ', $allowed_extensions); } else { // Buat nama unik untuk menghindari konflik $safe_name = time() . '_' . preg_replace('/[^a-zA-Z0-9_.-]/', '_', $file['name']); $target_file = $target_dir . $safe_name; if (move_uploaded_file($file['tmp_name'], $target_file)) { $message = "✅ File berhasil diupload: " . htmlspecialchars($safe_name); } else { $message = "❌ Gagal memindahkan file. Periksa izin folder uploads."; } } } } } // Ambil daftar file yang sudah diupload $files = glob($target_dir . "*"); foreach ($files as $file) { if (is_file($file)) { $uploaded_files[] = basename($file); } } ?>