exec("CREATE TABLE IF NOT EXISTS documents ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, description TEXT, file_name VARCHAR(255) NOT NULL, file_path VARCHAR(255) NOT NULL, uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"); } catch (PDOException $e) { die("DB ERROR: " . $e->getMessage()); } // --- File Upload Logic --- $upload_dir = 'uploads/'; $message = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['document'])) { if (!is_dir($upload_dir)) { mkdir($upload_dir, 0755, true); } $title = $_POST['title'] ?? 'Sin Título'; $description = $_POST['description'] ?? ''; $file_name = basename($_FILES['document']['name']); $file_tmp = $_FILES['document']['tmp_name']; $file_error = $_FILES['document']['error']; if ($file_error === UPLOAD_ERR_OK) { $safe_file_name = uniqid() . '-' . preg_replace("/[^a-zA-Z0-9._-]/", "", $file_name); $file_path = $upload_dir . $safe_file_name; if (move_uploaded_file($file_tmp, $file_path)) { try { $stmt = $pdo->prepare("INSERT INTO documents (title, description, file_name, file_path) VALUES (?, ?, ?, ?)"); $stmt->execute([$title, $description, $file_name, $file_path]); $message = '
| Título | Descripción | Fichero | Fecha de Subida | Acciones |
|---|---|---|---|---|
| No hay documentos todavía. | ||||
| Descargar | ||||