2012-04-28 21 views
5

私はプログラミングの初心者です。学校で学ぶだけですが、私のホームページからいくつかのExcelファイルをダウンロードしてほしいです。次のコードは動作しません。ブラウザに表示され、ダウンロードダイアログを強制的に表示しません。PHPを使って強制的にファイルをダウンロードできますか?

どのように私はこの問題を解決することができますか?

リンクは、http://myurl.com/download.php?fileid=1またはhttp://myurl.com/download.php?fileid=2などである必要があります。

<?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); 

ありがとうございました!

答えて

12

ヘッダーを使用する必要があります。あなたはphp manual上で読むことができるように、そのあなたのファイルのために:

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

これを行うには、いくつかの方法がありますが、私が見つけた最も簡単な方法は、単にヘッダを使用することです。あなたはこのようなことをすることができます。

header('Location: files/oppo23.xls'); 
関連する問題