PHP文件下载不识别Chrome和Edge中的文件类型



我正在尝试创建一个简单的下载页面,目前在Firefox中工作,但不完全适用于Chrome和Edge。要下载的文件是mp3,位于服务器的私有目录中。

当我在Firefox中下载文件时,它按预期工作。如果我使用Chrome或Edge下载,文件仍然会下载,但它不会识别文件类型,只是将其保存为无扩展文件。
如果我手动添加。mp3扩展名到下载的文件,它是好的,我可以播放轨道。

这些是标题:

header("Cache-Control: private"); 
header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename="$filename"");
header("Content-Length: " . filesize($filePath)); 
//Force download
readfile($filePath);

将'Content-type'更改为'audio/mpeg'也不工作

你可以试试:

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

查看标题是否不包含扩展名

最新更新