01/08/2023 - oregon ha scritto:
La cartella deve essere condivisa e indicata con
\\x.x.x.x\nomecondivisione
la cartella è condivisa ed infatti è raggiungibile da tutti i client della rete.
nel mio esempio se la volessi raggiungere dal mio client avrei questo percorso “Z:\ServCredimpresa\UFFICIO FIDI\Disposizioni”
dove Z è l'unità che gli ho assegnato che punta a \\ipdelserver\Documenti\ e poi via via il percorso sopra descritto .
Ora siccome ciascun client può avere la lettera dell'unità che desidera, pensavo di utilizzare direttamente l'ip del server per evitare problemi.
se faccio puntare la variabile $cartellaprova a ‘temp\prova’ e questa cartella e sottocartella si trova dentro htdocs allora funziona tutto e lo salva anche li dentro.
se invece la variabile $cartellaprova la faccio puntare così $cartellaProva = '\\IPDELSERVER\Documenti\prova'; creando una cartella prova appositamente… NON MI SALVA NULLA. Ho anche provato a risalire alla root con $cartellaProva = '..\..\Documenti\prova'; ma nulla
Ecco lo script con la variabile
<?php
// Includi il file di connessione al database
require('fpdm.php');
include 'db_connect2.php';
// Avvio della sessione
session_start();
// Controllo se l'utente è autenticato
if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] !== true) {
// Reindirizzamento alla pagina di login se l'utente non è autenticato
header("Location: login.php");
exit;
}
// Recupero il nomeutente e il nome dell'utente dalla sessione
$id_utente = $_SESSION['id'];
$nomeUtente = $_SESSION['username'];
$nomeuser = $_SESSION['nome'];
$cognome = $_SESSION['cognome'];
$filiale = $_SESSION['filiale'];
// Inizializzazione della variabile permessi
$permessi = 0;
// Recupero il ruolo dell'utente dalla tabella users
$query = "SELECT permessi, id, filiale FROM users WHERE username = '$nomeUtente'";
$result = mysqli_query($conn, $query);
// Controllo se la query ha restituito risultati
if ($result && mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
$permessi = $row['permessi'];
$id_user = $row['id'];
$filiale = $row['filiale'];
}
// Verifica il ruolo dell'utente
$ruolo = ($permessi == 9) ? "AMMINISTRATORE" : "DIPENDENTE";
$filialeuser = ($filiale == 1) ? 'Palermo' : 'Catania';
if (isset($_POST['rapporto'])) {
// Ottieni i valori inviati dal form
$selectedRapporto = rtrim($_POST['rapporto']);
$nr_socio = rtrim($_POST['socio']);
$ndg = rtrim($_POST['ndg']);
$dt_dlb_conf = rtrim($_POST['dt_dlb_conf']);
$mcc_si_no = rtrim($_POST['mcc_si_no']);
$rating_mcc = rtrim($_POST['rating_mcc']);
$banca = rtrim($_POST['banca']);
$formatecnica = rtrim($_POST['formatecnica']);
$importo_fin = rtrim($_POST['importo_fin']);
$durata_disp = rtrim($_POST['durata_disp']);
$perc_gar = rtrim($_POST['perc_gar']);
$cognomenomelr = rtrim($_POST['cognomenomelr']);
$anagrafica = rtrim($_POST['anagrafica']);
$parametri_190 = rtrim($_POST['parametri_190']);
$cap_soc_def = rtrim($_POST['cap_soc_def']);
$acq_gar_def = rtrim($_POST['acq_gar_def']);
$istr_att_def = rtrim($_POST['istr_att_def']);
$totalegest = rtrim($_POST['totalegest']);
$totalegestLettere = rtrim($_POST['totalegestLettere']);
$iban_f_gestione = rtrim($_POST['iban_f_gestione']);
$parametri_fondorischi = rtrim($_POST['parametri_fondorischi']);
$totalerischi = rtrim($_POST['totalerischi']);
$totalerischiLettere = rtrim($_POST['totalerischiLettere']);
$iban_f_rischi = rtrim($_POST['iban_f_rischi']);
$filialeuser = rtrim($_POST['filialeuser']);
// Template PDF - nome del file template
$templatePath = 'modulistica/disposizioni.pdf';
// Converti il valore "aaaammgg" in "gg/mm/aaaa" in una riga
$data_ggmmaaaa = substr($dt_dlb_conf, 6, 2) . '/' . substr($dt_dlb_conf, 4, 2) . '/' . substr($dt_dlb_conf, 0, 4);
$dataoggi = date('d/m/Y');
// Dati per il popolamento del PDF
$data = array(
'rapporto' => $selectedRapporto,
'nr_socio' => $nr_socio,
'ndg' => $ndg,
'data_del_conf' => $data_ggmmaaaa,
'mcc_si_no' =>$mcc_si_no,
'rating_mcc' => $rating_mcc,
'banca' => $banca,
'formatecnica' => $formatecnica,
'importo_fin' => $importo_fin,
'durata_disp' => $durata_disp,
'perc_gar' => $perc_gar,
'cognomenomelr' => $cognomenomelr,
'azienda' => $anagrafica,
'190' => $parametri_190,
'cap_soc_def' => $cap_soc_def,
'acq_gar_def' => $acq_gar_def,
'istreatt_gar_def' => $istr_att_def,
'totalegest' => $totalegest,
'gestionetotaleinlettere' => $totalegestLettere,
'iban_f_gestione' => $iban_f_gestione,
'fdo_rischi' => $parametri_fondorischi,
'totalerischi' => $totalerischi,
'rischitotaleinlettere' => $totalerischiLettere,
'iban_f_rischi' => $iban_f_rischi,
'filiale' => $filialeuser,
'dataoggi' => $dataoggi,
);
$cartellaProva = '\\IPDELSERVER\Documenti\prova';
// Popola il template PDF con i dati e ottieni il contenuto del nuovo PDF
try {
$pdfPreventivo = new FPDM($templatePath);
$pdfPreventivo->Load($data, false); // Il secondo parametro 'false' indica che il file output non viene creato come stringa
$pdfPreventivo->Merge();
ob_clean();
// Imposta la codifica dei caratteri nel PDF come UTF-8
header('Content-Type: application/pdf; charset=UTF-8');
header('Content-Disposition: attachment; filename="disposizioniok.pdf"');
$pdfPreventivoContent = $pdfPreventivo->Output('S');
// Salva il PDF nella cartella "prova"
$nomeFilePDF = 'disposizioniok.pdf';
$percorsoFilePDF = $cartellaProva . '/' . $nomeFilePDF;
file_put_contents($percorsoFilePDF, $pdfPreventivoContent);
// Termina lo script senza generare l'output del PDF nel browser
exit;
} catch (Exception $e) {
echo "Errore durante la generazione del preventivo: " . $e->getMessage();
}
} else {
// Se non ci sono risultati per il rapporto selezionato, mostra un messaggio di avviso
echo '<p>Nessun risultato trovato per il rapporto selezionato.</p>';
}
// Chiudi la connessione al database
mysqli_close($conn);
?>