First Upload Kering Portal
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
<?php include('include/headscript.php'); ?>
|
||||
<?php
|
||||
|
||||
// Assicurati di avere PhpSpreadsheet installato e includi l'autoloader di Composer
|
||||
require '../../vendor/autoload.php';
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
// Controlla se il file è stato caricato
|
||||
if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
|
||||
// Dettagli del file
|
||||
$originalFileName = $_FILES['file']['name'];
|
||||
$fileTmpName = $_FILES['file']['tmp_name'];
|
||||
|
||||
// Genera un timestamp per creare un nome univoco
|
||||
$timestamp = time();
|
||||
$fileExtension = pathinfo($originalFileName, PATHINFO_EXTENSION); // Ottieni l'estensione del file
|
||||
$newFileName = $timestamp . '_' . pathinfo($originalFileName, PATHINFO_FILENAME) . '.' . $fileExtension; // Nome file rinominato
|
||||
|
||||
$fileDestination = 'xlsupload/' . $newFileName;
|
||||
|
||||
// Muovi il file caricato nella cartella di destinazione con il nuovo nome
|
||||
if (move_uploaded_file($fileTmpName, $fileDestination)) {
|
||||
// Leggi il file XLS utilizzando PhpSpreadsheet
|
||||
try {
|
||||
$spreadsheet = IOFactory::load($fileDestination);
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$rows = $worksheet->toArray();
|
||||
|
||||
// Variabili di sistema
|
||||
$uniquecode = $timestamp; // Usa il timestamp come codice unico
|
||||
$dateimport = date('Y-m-d H:i:s'); // Data e ora correnti
|
||||
$iduserlogin = $_SESSION['iduserlogin']; // Ottieni l'ID dell'utente loggato
|
||||
$conn = new mysqli($servername, $username, $password, $database);
|
||||
|
||||
// Inserisci i dati nel database hist_rslxls per tracciare l'importazione
|
||||
$stmtHist = $conn->prepare("INSERT INTO hist_rslxls (importfilename, uniquecode, dateimport, iduser) VALUES (?, ?, ?, ?)");
|
||||
$stmtHist->bind_param('sssi', $newFileName, $uniquecode, $dateimport, $iduserlogin);
|
||||
|
||||
if (!$stmtHist->execute()) {
|
||||
die('Errore nell\'inserimento della cronologia: ' . $stmtHist->error);
|
||||
}
|
||||
|
||||
// Itera su ciascuna riga e inseriscila nel database rslxls
|
||||
foreach ($rows as $key => $row) {
|
||||
// Salta la prima riga se è un'intestazione
|
||||
if ($key == 0) continue;
|
||||
|
||||
// Prepara la query SQL per la tabella rslxls
|
||||
$stmt = $conn->prepare("INSERT INTO rslxls (importfilename, uniquecode, dateimport, scope, material_category, material_subcategory, finished_product, age, parameter_family, parameter, cas, unit_of_measure, minimum_limit, test_method, country, additional_requirement_note) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||
|
||||
// Bind dei valori (aggiungendo il nome del file, l'uniquecode e la data di importazione)
|
||||
$stmt->bind_param(
|
||||
'ssssssssssssssss',
|
||||
$newFileName, // Usa il nuovo nome del file
|
||||
$uniquecode,
|
||||
$dateimport,
|
||||
$row[0],
|
||||
$row[1],
|
||||
$row[2],
|
||||
$row[3],
|
||||
$row[4],
|
||||
$row[5],
|
||||
$row[6],
|
||||
$row[7],
|
||||
$row[8],
|
||||
$row[9],
|
||||
$row[10],
|
||||
$row[11],
|
||||
$row[12]
|
||||
);
|
||||
|
||||
// Esegui la query
|
||||
if (!$stmt->execute()) {
|
||||
die('Errore nell\'inserimento dei dati: ' . $stmt->error);
|
||||
}
|
||||
}
|
||||
|
||||
// Reindirizza l'utente alla pagina xlstorsl.php dopo l'importazione
|
||||
header("Location: xlstorsl.php");
|
||||
exit();
|
||||
} catch (Exception $e) {
|
||||
die('Errore nell\'elaborazione del file: ' . $e->getMessage());
|
||||
}
|
||||
} else {
|
||||
echo 'Errore nel caricamento del file.';
|
||||
}
|
||||
} else {
|
||||
echo 'Nessun file selezionato o errore nel caricamento.';
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user