1

我有一个非常简单的隐藏下载路径脚本设置,如下所示:

在 index.html 我有这个链接:

<a href="savefile.php">save</a>

在 savefile.php 我有这段代码:

$file = 'http://www.mysite.com/files/correct_horse_battery_staple.rar';
header("Content-Type: application/force-download");
@readfile($file);

这似乎确实有效,但不幸的是,它将文件下载为savefile.php而不是correct_horse_battery_staple.rar.

有什么方法不仅可以更改文件名,还可以更改扩展名?

4

2 回答 2

2

我有同样的问题

解决如下:

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


header('Content-Disposition: attachment; filename="'.$filename.'"');


readfile($filename);

我希望它对你有帮助

于 2013-04-06T14:37:20.750 回答
0

您的链接转到 savefile.php,而浏览器从未得到过 savefile.php 以外的文件名。您需要添加一个标题,如:

header('Content-Disposition: attachment; filename="correct_horse_battery_staple.rar"');

或更好...

header('Content-Disposition: attachment; filename="'.basename($file).'"');

希望能帮助到你!

于 2013-04-06T14:37:42.667 回答