我真的需要指定php头内容类型吗?

时间:2012-11-15 09:03:23

标签: php header content-type

我的服务器上有.mp3和.pcm音频格式,当我不知道用户请求的类型时,我该如何设置php header内容类型?

4 个答案:

答案 0 :(得分:1)

是的,你必须......你可以使用mime_content_type检测文件的MIME内容类型,简化标题中的过程

示例

header(sprintf('Content-type: %s',mime_content_type($filename)));

答案 1 :(得分:0)

我猜你可以将“Application / octet-stream”用于任何类型的二进制文件格式。

答案 2 :(得分:0)

当您说设置标题时,我认为您将 .mp3 .pcm 重写为PHP脚本。

在这种情况下,您应该使用文件扩展名重写它。然后,您可以检查 $ _ GET 变量中的扩展程序。

if(strpos('.mp3', $_GET['filename']) !== false) {
   header('Content-Disposition: inline;filename="test.mp3"');
}

if(strpos('.pcm', $_GET['filename']) !== false) {
   header("Content-type: application/octet-stream;");
}

PCM数据是RAW-Data所以我认为您可以使用八位字节流或Baba的酷解决方案

因此,您可以检查它的格式,并设置指定文件的标题。

以下是此问题的另一篇文章: Output mp3 with php

答案 3 :(得分:0)

在我的网站中,我使用了这种类型的标题。我建议这个。

实施例

标题( “内容类型:文本/ XML;字符集= UTF-8;字符集=窗口-1256”);