如何使用php强制下载文件?

时间:2012-04-28 14:34:56

标签: php download readfile

我是编程新手,只是在学校学习,但我希望我的用户从我的主页下载一些excel文件。以下代码不起作用,它只在浏览器中显示,而不是强制下载对话。

我该如何解决这个问题?

链接应为:http://myurl.com/download.php?fileid=1http://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);

感谢您的帮助!

2 个答案:

答案 0 :(得分:12)

你必须使用标题。就像您可以在php manual上阅读,它可以在您的文件中阅读:

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

答案 1 :(得分:5)

有几种方法可以做到这一点,但我发现最简单的方法就是使用标题。你可以这样做。

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