[PHP] FPDF Salvare su disco C locale Windows

marcomv

Nuovo Utente
24 Feb 2019
2
0
1
Buongiorno a tutti,
ho scritto una applicazione web in PHP ed ho un problema non da poco con FPDF,
Ho necessità di salvare il file PDF prodotto in una specifica cartella in locale, ma proprio non ci riesco.

Utilizzo l'istruzione:
$pdf->Output($filename,'F', $isUTF8=false, $f1, $f2, $f3);
dove $filename è del tipo:
c:\folder\subfolder\filename.pdf
ma ho provato anche
c://folder//subfolder//filename.pdf

Quando lavoro su Localhost va tutto bene, ma quando mi sposto su web il file viene scritto sull'area di hosting, in una cartella strana che si chiama c:\folder\subfolder\filename.pdf

Dove è che sbaglio? Quyalcuno (immagino di si) ci ha già provato?
Grazie a chi mi aiuta
MarcoMV
 

marino51

Utente Attivo
28 Feb 2013
2.609
132
63
Lombardia
se capisco bene il problema esposto, considera che,
il file pdf é sempre salvato sul server
non c'é accesso diretto alle risorse locali per sicurezza, altrimenti chiunque potrebbe agire "indisturbato" sulle risorse locali,
per risolvere puoi,
eseguire un download dopo aver generato il file, dal server al pc locale
oppure visualizzare il pdf e lasciare all'utente l'incombenza di salvarlo in locale
credo non vi siano altre possibilità
 

macus_adi

Utente Attivo
5 Dic 2017
1.038
59
48
IT/SW
Il dubbio è: Devi salvare in locale "Client" o tu "Gestore"?????
Ho necessità di salvare il file PDF prodotto in una specifica cartella in locale
Pre prima cosa separa i due concetti, localhost (macchina locale di sviluppo che gira sotto windows o unix ) macchina remota (hosting)...

Utilizzando xampp o analoghi hai accesso all'intera macchina e a tutte le risorse disponibili comprese partizioni (dischi), in remoto no a meno che il server sia tuo (VPS o Server) cambia poco....

Tornando al problema principale (se TU gestore devi recuperare il PDF)... Per salvare in locale un file generato da remoto hai 3 possibilità:
Soluzione 1:
1- Salvi l'output da remoto in una directory
2- Con un cron da locale recuperi la risorsa e la cancelli...

Soluzione 2:
1- Non salvi il PDF ma solo i metadati che servono per la generazione dello stesso
2-
2.1- Effettui una chiamata alla macchina locale (qui si aprirebbe una discussione lunga chilometri, DNS, IP etc...)
OR
2.1- La macchina locala si sincronizza con un cron
3- Rigeneri in locale il PDF partendo dai metadati...

Soluzione 3:
1- Crei il PDF e lo salvi in remoto
2- Invia come attachment alla tua casella di posta
3- Crei una regola per salvare il PDF

credo non vi siano altre possibilità
In alternativa in JS puoi prendere il controllo della macchina.... qui GDPR etc, vanno a farsi benedire.... quindi nel caso in cui devi salvare lato Client in una directory specifica fai come suggerito da marino!
 
Ultima modifica: