Newsgroup: it.comp.www.php
Titolo: download con php

ciao a tutti, come si fa a fare in modo che una pagina php faccia partire 
direttamente un download senza che l'utente veda dov'è la posizione?
Simone 

 posizione?
http://www.php.net/header
http://www.php.net/readfile
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.

in questa maniera nessuno puň vedere il vero link del file giusto?

 in questa maniera nessuno pur vedere il vero link del file giusto?
Se scrivi il codice giusto si.


ho fatto una pagina con:
header("Location: 
http://www.miosito.it/cartelladownload/
".$id);
dove ID č il nome del file passato da una pagina in cui ogni file ha un link 
che punta a scarica.php?id=file1.txt
ho visto che mi esce la finestra di download perņ mi visualizza solo 
www.miosito.it
 quindi a prima vista sembra ok, volevo essere sicuro
Simo

 header("Location: 
http://www.miosito.it/cartelladownload/
".$id);
Hai usato readfile (od equivalente)?


in questa maniera nessuno può vedere il vero link del file giusto?
Non solo: quand'anche lo vedesse, potrebbe essere in una directory dove
il server non ha accesso.
Leonardo
-- 
Avere studiato senza mettere in pratica e' inutile;
mettere in pratica senza avere studiato e' pericoloso.
                                                - Conphpucio

ciao, ho provato a mettere una password alla cartella... perņ mi esce la 
finestra di login... come posso passare la pass direttamente nella pagina 
php? 

php? 
No, aspetta: la cosa funziona cosi':
+-- tuadirectory -- download.php
                 +
		 +-- cartella protetta --- documento.doc
La directory dove e' "download.php" non e' protetta e non contiene
documenti. La cartella dove ci sono i documenti e' protetta, e con
un browser non puoi prelevarne direttamente i documenti.
I documenti li prelevi via PHP, chiedendoli a download.php, che si
fa carico di inviare gli opportuni header, aprire il documento (la
protezione della cartella non ha significato per il PHP, che manco
la vede) e inviarlo, *solo se* l'utente e' un utente valido.
Se cerchi di entrare con un browser nella cartella protetta, o non
ti fa proprio entrare, o ti chiede una password (che potrebbe pure
non essere quella che dai al PHP) con cui vedi *tutti* i documenti
nella cartella.
E' piu' facile a farsi che a dirsi (e ci sono vari script PHP gia'
pronti su vari siti: cerca "php download script")


ciao, ho provato con
readfile("
http://www.xxx.it/cartellaprotetta/miofile.exe
");
ma mi visualizza il file exe dentro nella pagina invece di chiedere di 
salvare
mentre con
header("Location: 
http://www.xxx.it/cartellaprotetta/miofile.exe
");
mi esce di digitare la password 

mi esce di digitare la password 
Infatti. Eventualmente puoi mettere in .htaccess un "deny all" in modo che
ti butti fuori senza nemmeno chiedere la password, oppure un ErrorDocument
che dica "Questa directory e' protetta, sorry" o ridiriga al form di login
da dove chi e' autorizzato puo' loggarsi e scaricare.


no
"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio 
news:i8w7d.20085$N45.5...@twister2.libero.it...


 no
Allora l'utente sara' in grado di leggere l'URL completo, sul manuale
c'e' un esempio di utilizzo di readfile che permette di fare
esattamente quello che chiedi.
