2024-11-06 11:31:24 +01:00

47 lines
2.0 KiB
PHP

<?php
// Initialize an array to store file messages
$GLOBALS['file_messages'] = [];
// Check if there are any files uploaded
if (!empty($_FILES)) {
// Define the directory where files will be stored
$upload_dir = '../report_files/';
// Ensure the upload directory exists
if (!is_dir($upload_dir)) {
mkdir($upload_dir, 0755, true);
}
foreach ($_FILES as $key => $file) {
if ($file['error'] === UPLOAD_ERR_OK) {
// Get original filename and generate a stored filename with UUID as a prefix
$original_filename = $file['name'];
$stored_filename = $uuid . '_' . $original_filename; // Add UUID as prefix
// Define the full path where the file will be saved
$filepath = $upload_dir . $stored_filename;
// Move the uploaded file to the specified directory
if (move_uploaded_file($file['tmp_name'], $filepath)) {
// Get the associated comment for the file if it exists
$comment_key = str_replace('file', 'comment', $key);
$file_comment = $_POST[$comment_key] ?? null;
// Insert file information into the database
$stmt = $conn->prepare("INSERT INTO report_files (uuid, original_filename, stored_filename, filepath, file_comment) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("sssss", $uuid, $original_filename, $stored_filename, $filepath, $file_comment);
if ($stmt->execute()) {
$GLOBALS['file_messages'][] = "File $original_filename uploaded and information saved.";
} else {
$GLOBALS['file_messages'][] = "Failed to save file information for $original_filename.";
}
} else {
$GLOBALS['file_messages'][] = "Failed to move file $original_filename.";
}
} else {
$GLOBALS['file_messages'][] = "Error uploading file $original_filename. Error code: " . $file['error'];
}
}
}