从标题下载时缺少文件扩展名

Cha*_*ark 2 php apache .htaccess http-headers

我正在使用下面的代码下载一个文件,该工作很好,但问题是文件扩展名丢失,即使在压力下载后也是如此.我尝试将其更改为其他MIME类型,可能是什么问题,我该如何解决?

header('Content-Type: audio/mp3');
header("Content-Disposition: attachment; filename=$row[3]");
header("Content-Length: ".filesize("$row[1]$row[2]"));
$fp = fopen("$row[1]$row[2]", "r");
fpassthru($fp);
fclose($fp);
Run Code Online (Sandbox Code Playgroud)

注意:$ row数组中的值很好.

Tov*_*bal 5

只是在黑暗中拍摄,可能是文件名中有空格吗?在这种情况下,你可以尝试在文件名周围添加双引号,在省略空格后有关于部分的报告(例如:http://kb.mozillazine.org/Filenames_with_spaces_are_truncated_upon_download)

编辑:正如评论中所讨论的,标题没有返回扩展名,因此在后端手动添加.mp3扩展名可以解决此问题.