casadoc/public/userportal/upload-document.php
2024-09-20 21:21:35 +02:00

60 lines
2.3 KiB
PHP

<?php
include('include/headscript.php');
// Connessione al database
$conn = new mysqli($servername, $username, $password, $database);
// Controlla la connessione al database
if ($conn->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)) {
// Inserisce il file nel database
$expiry_status = ($expirydate) ? 1 : 0;
$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()) {
echo json_encode(['success' => true, 'message' => "File uploaded successfully.", 'filename' => $newFilename]);
} else {
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();