Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[PHP] Fare in modo che i file richiesti siano scaricati

Cerchi consigli per migliorare il tuo sito? Vuoi aprire un sito in poco tempo?
Discuti con altri webmaster, chiedi chiarimenti ed opinioni in tutta libertà.
Lo spam verrà cancellato.

[PHP] Fare in modo che i file richiesti siano scaricati

Messaggioda ste_95 » sab mar 07, 2009 9:11 pm

Ciao ragazzi.
Vorrei sapere come si fa a dire al server di mandare i file richiesti sempre sottoforma di download e non in visualizzazione. Mi spiego meglio: un txt richiesto normalmente su un server viene mostrato e non scaricato, io voglio che mi venga proposto il download del txt.
Grazie.
«A volte è meglio tacere e sembrare stupidi che aprir bocca e togliere ogni dubbio.» Oscar Wilde
Avatar utente
ste_95
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 17271
Iscritto il: lun ago 06, 2007 11:19 am

Re: [PHP] Fare in modo che i file richiesti siano scaricati

Messaggioda Andy94 » dom mar 08, 2009 7:08 am

Da una rapida ricerca sono arrivato ad una probabile conclusione. Devi spedirgli un header modificato.
Dai un occhio a questo articolo, in particolare dove dice:
If you want the user to be prompted to save the data you are sending, such as a generated PDF file, you can use the » Content-Disposition header to supply a recommended filename and force the browser to display the save dialog.
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: [PHP] Fare in modo che i file richiesti siano scaricati

Messaggioda ste_95 » dom mar 08, 2009 8:16 am

Ok, ci sono riuscito. Di seguito lo spezzone di codice relativo, appunti per un futuro articolo.

Codice: Seleziona tutto
$size=filesize($_GET['f']);
$open=fopen($_GET['f'], "r");
$read=fread($open, $size);
header('Content-Type: application/octet-stream');
header("Content-Length: " . $size);
header("Content-Transfer-Encoding: binary");
header('Content-Disposition: attachment; filename="' . $_GET['f'] . '"');
echo $read;
«A volte è meglio tacere e sembrare stupidi che aprir bocca e togliere ogni dubbio.» Oscar Wilde
Avatar utente
ste_95
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 17271
Iscritto il: lun ago 06, 2007 11:19 am


Torna a Sviluppo Web

Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising