Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php强制下载文件?_Php_Download_Readfile - Fatal编程技术网

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

如何使用php强制下载文件?,php,download,readfile,Php,Download,Readfile,我是编程新手,只是在学校学习,但我想让我的用户从我的主页下载一些excel文件。下面的代码不起作用,它只在浏览器中显示,不强制进行下载对话 我怎样才能解决这个问题 链接应该是:或等等 <?php switch ($_GET["fileid"]) { case 0: $file = "files/mon.xls"; break; case 1: $file = "files/uru2.xls"; break;

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

我怎样才能解决这个问题

链接应该是:或等等

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

您必须使用标题。就像您可以在上阅读一样,它适用于您的文件:

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

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

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