使用X-Sendfile下载文件的文件名

时间:2012-04-23 07:11:33

标签: php apache2 x-sendfile

我使用X-Sendfile发送文件而不是readfile。处理此脚本的脚本名为download.php,包含:

$video_file = '/path/to/file/file.mp4';
header('X-Sendfile: '.$video_file);
header('Content-Type: video/mp4');
header('Content-Disposition: attachment; file=\"file.mp4\"');
exit();

但问题是下载的文件总是命名为“download.php”(155Mb),我想下载它命名为file.mp4。我尝试了几件事:

header('Content-Disposition: attachment; file="file.mp4"');
header('Content-Disposition: attachment; file=file.mp4');

以及所有其他可能性,但仍然将文件下载为download.php。

我的htaccess文件包含:XSendFile On

1 个答案:

答案 0 :(得分:1)

您发送的标头不正确。 filename属性名为filename,而不是name

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

有关标题的详细说明,请参阅RFC2616