View Full Version : [Php]Download dati
Ciao a tutti,
ho bisogno di sapere come si fa a far fare il download di file che risiedono in una cartella del server da parte di un utente che visita la pagina.
Mi spiego meglio:
Nel database ho memorizzato l'indirizzo del file, del tipo "materiale/nome file" ,dove materiale è il nome della cartella.
Poi eseguo la query ed estraggo questo indirizzo.
$result = mysql_query("SELECT*FROM materiale WHERE id_cd='$id' ");
while($he=@mysql_fetch_array($result)){
$scarica=$he["indirizzo"];
?>
<a href="<?php echo $scarica ?>">qui</a>
<?php
}
Ma come potete immaginare non funziona....è sbagliaot il modo di procedere?
Come posso fare?
Grazie ciao ciao
Leggi <questo> (http://www.hwupgrade.it/forum/showthread.php?t=1495348) thread (anche se era per una cosa un po' più specifica riguardo il download).
Grazie per l'aiuto.
Intanto ho fatto cosi:
$filename = $_SERVER['DOCUMENT_ROOT']."/Pcpiu/";
$scarica=$he['file_materiale'];
?
<a href=" <?php echo $filename.$scarica ?>"> qui</a> <?php
Così facendo clic con il tasto destro e selezionando salva con nome funziona,ma cliccando su "qui" non si apre nessuna finestra per salvare...
grazie
ciao
Grazie per l'aiuto.
Intanto ho fatto cosi:
$filename = $_SERVER['DOCUMENT_ROOT']."/Pcpiu/";
$scarica=$he['file_materiale'];
?
<a href=" <?php echo $filename.$scarica ?>"> qui</a> <?php
Così facendo clic con il tasto destro e selezionando salva con nome funziona,ma cliccando su "qui" non si apre nessuna finestra per salvare...
grazieInnanzitutto, in effetti, il thread che ti ho segnalato è per una questione più particolare che probabilmente a te non interessa.
A te serve solamente mandare in output un link nella pagina.
$_SERVER['DOCUMENT_ROOT'] però non lo devi mettere. Perché rappresenta il path in locale sul server che fa riferimento alla root del sito e che non è visibile dal client!
Quindi se sotto la root del tuo sito hai una directory 'Pcpiu' e in $scarica hai un nome di file senza path, slash, ecc... ti basta fare:
<a href="<?php echo "/Pcpiu/$scarica"; ?>">qui</a>
Ok,
però facendo così ,cliccando sopra "qui" il sito cerca di aprirmi una nuova pagina a quell'indirizzo,e logicamente non la trova...
Se provo a fare salva con nome con il tasto destro si apre la finestra per salvare il file ma subito si apre un'altra finestra che mi dice impossibile scaricare il file da...impossibile trovare il sito internet
Ok,
però facendo così ,cliccando sopra "qui" il sito cerca di aprirmi una nuova pagina a quell'indirizzo,e logicamente non la trova...
Se provo a fare salva con nome con il tasto destro si apre la finestra per salvare il file ma subito si apre un'altra finestra che mi dice impossibile scaricare il file da...impossibile trovare il sito internetMa sei andato a verificare se il link generato è corretto? Guarda il sorgente della pagina (o anche solo la status bar quando passi sul link). Esiste il file a quell'indirizzo?
Si,il file da scaricare è in una tabella sul server,nel database ho il percorso/nome del file.
Solo che cliccando su "qui" viene fuori l'indirizzo
http://127.0.0.1/Pcpiu/materiale/schemaPcPiù.doc e non la finestra per salvare il file,cioè lui cerca di aprire una pagina internet,non il file.
Sicuramente sbaglio io,ho almeno è sbagliato il modo in cui penso io di risolvere il problema,ma è la prima volta che devo fare una cosa del genere...
http://127.0.0.1/Pcpiu/materiale/schemaPcPiù.docQuesto è un indirizzo assoluto che fa riferimento al localhost. Ma stai provando in locale sul tuo PC?
Comunque dal browser apri il sorgente della pagina e verifica che il link generato sia:
<a href="/Pcpiu/materiale/schemaPcPiù.doc">qui</a>
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.