我使用下面的代码来下载文件,该工作很好,但问题在于文件扩展名缺失,即使在压力下载之后。我曾尝试将其更改为其他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);
注意:$ row数组中的值很好。
整个名称被加载,用空格例如:“我的新组合”缺少” .MP3" 。只是出于好奇,在什么地方扩展名来自MIME类型还是来自实际文件名,并且可以通过Apache设置阻止它? –
我不完全知道你的意思,但是你可以尝试检查'client'使用的是什么使用Firbug插件的Firefox。打开Firebug并检查返回的内容标题(点击F12打开Firebug并检查'Net'标签) - > https://dl.dropboxusercontent.com/u/11837707/stackoverflow/headers。 jpg – Toverbal
好吧,这是什么我得到了,我从我的数据库中下载了一个ID为19的文件,这是第二个请求,它下载文件名'enth nd ...“https://www.dropbox.com/s/ bpz1wx9gfl96sih/file%20type.png –