1

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

4

4 回答 4

1

是的,您必须..您可以使用mime_content_typeDetect MIME Con​​tent-type for a file 简化标题中的过程

例子

header(sprintf('Content-type: %s',mime_content_type($filename)));
于 2012-11-15T09:08:00.583 回答
0

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

于 2012-11-15T09:05:49.357 回答
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

于 2012-11-15T09:09:55.067 回答
0

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

例子

header("内容类型:文本/xml;charset=utf-8;charset=windows-1256");

于 2012-11-15T10:01:04.130 回答