2012-04-28 1 views
5

Sono un neofita della programmazione, lo sto imparando a scuola, ma voglio che i miei utenti scarichino alcuni file excel dalla mia homepage. Il seguente codice non funziona, lo visualizza solo nel browser e non impone un dialogo di download.Come posso forzare il download di un file utilizzando php?

Come posso risolvere questo problema?

Il collegamento deve essere: http://myurl.com/download.php?fileid=1 o http://myurl.com/download.php?fileid=2 e così via.

<?php 
switch ($_GET["fileid"]) { 
    case 0: 
     $file = "files/mon.xls"; 
     break; 
    case 1: 
     $file = "files/uru2.xls"; 
     break; 
    case 2: 
     $file = "files/oppo23.xls"; 
     break; 
} 
readfile($file); 

Grazie per il vostro aiuto!

risposta

12

Devi usare l'intestazione. Come si può leggere sul php manual, la sua per il file:

<?php 
header('Content-type: application/xls'); 
header('Content-Disposition: attachment; filename="downloaded.xls"'); 
readfile($file); 
5

ci sono alcuni modi per fare questo, ma il modo più semplice che ho trovato è usare solo un colpo di testa. Potresti fare qualcosa di simile.

header('Location: files/oppo23.xls');