0

谁能知道我如何在不显示对话框(打开/保存)的情况下强制下载文件。下面的代码是我下载创建的 excel 文件的测试脚本,但出现下载文件的对话框。

$filename ="excelreport.xls";
$contents = "testdata1 \t testdata2 \t testdata3 \t \n";
header('Content-type: application/ms-excel');
header('Content-Disposition: attachment; filename='.$filename);
echo $contents;

我想在没有对话框的情况下自动下载文件并将其保存在指定目录中

4

2 回答 2

2

您可以强制下载而不是显示它,但我认为通常无法强制浏览器在没有提示的情况下下载它

// fix for IE catching or PHP bug issue
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// browser must download file from server instead of cache

// force download dialog
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");

来源:php.net

于 2012-10-23T12:08:23.623 回答
1

出于安全原因,您不能这样做。

于 2012-10-23T12:09:57.420 回答