Php mp3应该使用哪种mime类型

Php mp3应该使用哪种mime类型,php,mp3,mime-types,Php,Mp3,Mime Types,我正试图决定返回mp3数据时选择哪种mime类型(由php提供) 根据此mime类型列表: 它们之间有什么区别,我应该使用哪一种?使用.mp3音频/mpeg,这是我经常使用的。我猜其他人只是化名。你最好使用mime类型音频/mpeg你应该始终使用音频/mpeg,因为firefox不能播放音频/mpeg3文件我对mime类型有问题,并且在那里对少数文件类型进行测试。看起来每个浏览器都会发送特定文件的mime类型变体。我试图用开源php类上传mp3和zip文件,我发现: Firefox(mp3):

我正试图决定返回mp3数据时选择哪种mime类型(由php提供)

根据此mime类型列表:


它们之间有什么区别,我应该使用哪一种?

使用
.mp3音频/mpeg
,这是我经常使用的。我猜其他人只是化名。

你最好使用mime类型
音频/mpeg

你应该始终使用音频/mpeg,因为firefox不能播放音频/mpeg3文件

我对mime类型有问题,并且在那里对少数文件类型进行测试。看起来每个浏览器都会发送特定文件的mime类型变体。我试图用开源php类上传mp3和zip文件,我发现:

  • Firefox(mp3):音频/mpeg
  • Firefox(zip):应用程序/zip
  • Chrome(mp3):音频/mp3
  • Chrome(zip):应用程序/八位字节流
  • 歌剧(mp3):音频/mp3
  • Opera(zip):应用程序/八位字节流
  • IE(mp3):音频/mpeg
  • IE(zip):应用程序/x-zip-compressed
因此,如果您需要上传几种文件类型,最好进行一些测试,以便每个浏览器都可以上传一个文件并通过mime类型检查。

方法是使用
音频/mpeg
,在PHP函数中类似于此


header('Content-Type:audio/mpeg')

mp3文件有时会抛出奇怪的mime类型,答案如下:

如果您正在执行某些用户验证,则不允许如上所述的“应用程序/八位字节流”或“应用程序/x-zip-compressed”,因为它们可能包含be.exe或其他潜在危险的文件

为了验证mime类型何时给出假阴性,您可以根据此答案使用fleep
完成验证。

Chrome 26更了解并使用
audio/mp3
。。。算算吧,这是他今天刚满3岁。我相信他还会再呆几年,所以微笑着祝他生日快乐。:)@pollaris没有多个mime类型,因为一个文件只有一种类型。理想情况下,如果返回mp3文件,则返回
audio/mpeg
;如果返回wav文件,则返回
audio/wav
。如果您不想编写返回实际mime类型的代码,则可以使用通用的
应用程序/octet流
来指示二进制文件,但浏览器可能不会按您预期的方式处理该文件。@jgillich-您是对的。6年了,现在可以骑自行车了,Chrome bug已经修复了!不确定什么时候能进入Chrome。Firefox也不喜欢音频/mp3
.mp3    audio/mpeg3
.mp3    audio/x-mpeg-3
.mp3    video/mpeg
.mp3    video/x-mpeg