Script php: Download file in streaming
difficoltà:

Script simili
15/9/2006
Questo script è utile in modo particolare in due casi: quando si vuol impedire che il browser apra il file con il proprio plugin, per esempio per documenti pdf, word o se necissita far scaricare file php. L'altro caso è il voler far scaricare il file senza farne conoscere il percorso per motivi di sicurezza o per esempio solo ad utenti registrati.
Il file per scaricare il documento documento.doc sarà:
<?Si potrebbe anche passare attraverso un form via post o get il file da scaricare per esempio mettendo come link invece del percorso del file download.php?filename=documento.doc facendo un controllo sull'esistenza del file nel file download.php
$filename="documento.doc";
header("Content-type: Application/octet-stream");
header("Content-Disposition: attachment; filename=".$filename);
header("Content-Description: Download scheda");
$file_name="public/documenti/".$filename;
readfile($file_name);
?>
Permalink:
Tag:
Script Simili:
Script php: Impedire accesso diretto ai file tramite htaccess
Script php: Caricare e Scaricare file via ftp con php
Script php: Elencare file contenuti in cartella
Script php: Eliminare file e cartelle
Link utili:
Vota:
Commenti
18/2/2008 16:50:36
ciao ho utlizzato il tuo script..una volta che scarico il file dal mio sito al mio pc ,ad esempio una jpg..nn mi visualizza nulla quando tento di aprirla...
se poi l apro con il notepag mi esce tutto il codice html della pagina del mio sito + strani segni dovuti al codice php..
sai per caso cosa potrebbe esere??
18/2/2008 16:57:11
controlla che non ci siano spazi da nessuna parte o che lo script non scriva nulla a video. non ci devono essere output
18/2/2008 17:08:54
nn ci sono spazi.
.ma cmq la variabile $file_name deve iniziare con
$file_name = $_SERVER["DOCUMENT_ROOT"]."ciao.jpg";
o
$file_name = "http://www.miosito.it/ciao.jpg";
lo script nn scrive nulla a video..però naturlamente c'è del codice html che mi serve per fare la grafica del sito..
e questo codice html come ti dicevo prima viene salvato nel file al posto della jpg..
18/2/2008 17:17:03
esatto...non ci deve essere del contenuto html, dovresti fare un file che fa solo lo streaming. con solo codice php, no grafica, no html, attento anche a spazi bianchi che posson dar problemi. il nome del file non deve essere http://... ma un indirizzo locale.
18/2/2008 17:32:46
niente..ho messo lo script in una pagina deserta..
ma mi da sempre il solito problema..
cmq se commento il tuo codice e printo il $file_name
mi esce /var/www/vhosts/miosito.it/httpdocs/download/add.gif
ed è giusto..
ma nella variabile $filename devo mettere solo "add.gif" giusto ?
18/2/2008 17:45:06
ma aprendo il file col notepad cosa ti dice? se ti scrive qlsa dovrebbe essere l'errore che riscontra.
18/2/2008 17:53:03
mi fa veder del codice strano fatto di quadratini..,
cmq è giusto perchè se te apri una qualsiasi immagine con il notepad ti fa vedere dei quadrati..
quindi in teoria ci siamo il file l ho scaricato..solo che nn lo apre..
se faccio tasto destro proprietà,la cosa curiosia è che nn mi fa vedere il riepilogo,la parte dove ti mostra l altezza la larghezza ecc ecc..
cmq ora vado a casa..se dovessi risolvere la cosa ti faccio sapere

Feed Rss
26/3/2007 16:50:50
Poichè con alcuni settaggi del server si possono avere problemi di memoria con tando di download non completo, che si ferma dopo qualche mega, riporto la soluzione che ho trovato:
readfile_chunked:
http://it.php.net/manual/it/function.readfile.php#54295