connect_error) { die(json_encode(['success' => false, 'message' => "Connection failed: " . $conn->connect_error])); } // Impostazioni della cartella di destinazione $targetDir = "homedocuments/"; // Recupera i dati inviati tramite POST e FILES $idhome = isset($_POST['idhome']) ? intval($_POST['idhome']) : 0; $document_id = isset($_POST['document_id']) ? intval($_POST['document_id']) : 0; $file = isset($_FILES['file']) ? $_FILES['file'] : null; $expirydate = isset($_POST['expirydate']) ? $_POST['expirydate'] : null; $note = isset($_POST['note']) ? $_POST['note'] : null; // Controlla se il file รจ stato caricato correttamente if ($file && $file['error'] === UPLOAD_ERR_OK) { // Rinomina il file con lo schema idhome-timestamp-filename $filename = basename($file['name']); $fileExtension = pathinfo($filename, PATHINFO_EXTENSION); $newFilename = $idhome . '-' . time() . '-' . $filename; $targetFilePath = $targetDir . $newFilename; // Verifica e crea la cartella se non esiste if (!is_dir($targetDir)) { mkdir($targetDir, 0777, true); } // Sposta il file nella cartella di destinazione if (move_uploaded_file($file['tmp_name'], $targetFilePath)) { // Determina lo stato di scadenza $expiry_status = ($expirydate) ? 1 : 0; // Inserisce il file nel database $query = "INSERT INTO doc_storage (idhome, document_id, filename, expirystatus, expirydate, note, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, NOW(), NOW())"; $stmt = $conn->prepare($query); $stmt->bind_param("iissss", $idhome, $document_id, $newFilename, $expiry_status, $expirydate, $note); if ($stmt->execute()) { // Ottieni l'ID del documento appena inserito $documentId = $stmt->insert_id; // Ottieni la data di caricamento dal database $stmtSelect = $conn->prepare("SELECT created_at FROM doc_storage WHERE id = ?"); $stmtSelect->bind_param("i", $documentId); $stmtSelect->execute(); $result = $stmtSelect->get_result(); $row = $result->fetch_assoc(); $uploadDate = $row['created_at']; $stmtSelect->close(); echo json_encode([ 'success' => true, 'message' => "File uploaded successfully.", 'fileName' => $newFilename, 'uploadDate' => $uploadDate, 'documentId' => $documentId ]); } else { // Rimuove il file se l'inserimento nel DB fallisce unlink($targetFilePath); echo json_encode(['success' => false, 'message' => "Failed to insert into database: " . $stmt->error]); } $stmt->close(); } else { echo json_encode(['success' => false, 'message' => "Failed to move the file."]); } } else { echo json_encode(['success' => false, 'message' => "File upload error."]); } $conn->close();