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

nox*_*bra 5 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);
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

Ney*_*sor 12

你必须使用标题.就像你可以阅读php手册,它的文件:

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


Nin*_*ist 5

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

 header('Location: files/oppo23.xls');
Run Code Online (Sandbox Code Playgroud)