我使用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
答案 0 :(得分:1)
您发送的标头不正确。 filename属性名为filename
,而不是name
:
header('Content-Disposition: attachment; filename="file.mp4"');
有关标题的详细说明,请参阅RFC2616。