PHP http流的正确头和mime_类型

PHP http流的正确头和mime_类型,php,html,audio,http-headers,Php,Html,Audio,Http Headers,我已经为此奋斗了几天了。我似乎无法通过PHP玩任何东西。我试图通过php播放一个.m4a音频文件,它所做的只是在Chrome中显示HTML5播放器,但文件没有加载 我在其他帖子中尝试了很多技巧,但似乎没有什么不同。 这里是一些后端信息 运行PHP-FPM的Apache/Linux服务器。 AddType audio/mp4 m4a添加到vhost文件中 所有文件都是.m4a,使用ffmpeg编码,并使用ffmpeg中的-c:aac-strict experimental作为音频编解码器。文件本身

我已经为此奋斗了几天了。我似乎无法通过PHP玩任何东西。我试图通过php播放一个
.m4a
音频文件,它所做的只是在Chrome中显示HTML5播放器,但文件没有加载

我在其他帖子中尝试了很多技巧,但似乎没有什么不同。

这里是一些后端信息

运行PHP-FPM的Apache/Linux服务器。
AddType audio/mp4 m4a
添加到vhost文件中

所有文件都是
.m4a
,使用ffmpeg编码,并使用ffmpeg中的
-c:aac-strict experimental
作为音频编解码器。文件本身可以直接在浏览器中播放,而不是通过PHP。有趣的是,当我将mime更改为audio/acc时,它在浏览器中播放,但通过quicktime player播放。我需要它是本地HTML5 m4a

下面是我尝试使用的PHP代码。我尝试过很多组合,包括使用内容配置,但尝试下载并保存。我不想那样

        $size = filesize($realfile);
        $mimes = "audio/mp4";
        if(file_exists($realfile)){
            header('Accept-Ranges: bytes');
            header('Content-Length: ' . $size);
            header('Content-Range: bytes 0-'.($size - 1).'/'.$size);
            header('Content-Type: '.$mimes);
            readfile($realfile);
        }else{
            header("HTTP/1.1 403 Forbidden");
        }
下面是使用PHP URL的响应头。(不玩)

下面是直接来自文件URL的响应头。(打得很好)

这方面的任何帮助都会很好

编辑:我终于放弃了这段代码。我在GitHub上找到了一个PHP脚本,它完全符合我的需要,而且工作非常出色。


标题实际上是相同的,因此这不是您的问题


我怀疑问题在于你说你接受范围请求,但你的代码中没有一个地方是你真正接受这些范围请求的。

我最终放弃了这个代码。我在GitHub上发现了一个PHP脚本,它完全满足了我的需要,并且工作得非常完美


我需要音频,所以在这个新脚本中,我只是将
video/mp4
更改为
audio/mp4

不幸的是,这没有帮助。我增加了一个范围,但没有什么区别。另外,我认为这是一个经过深思熟虑的问题,我的代码和示例都是如此。不知道为什么我会在这个问题上被否决。@PanamaJack好吧,你可以问问否决你的人。在你的代码中,你在哪里加载了特定的范围?你怎么知道谁投了反对票?我在代码中尝试了它,但没有用它更新问题。我把它添加到我的PHP代码中的Accept范围内,没有任何区别。但是我发现的另一个代码似乎很有效。@PanamaJack你不知道谁投了反对票。。。这是我的观点。我也不知道,但不是我。我想如果你能处理好射程头球,一切都会好起来的。从你说的话来看,你从来没有这样做过。谢谢,但是是的,在你提到它之后,我确实试过。我没有工作。我在我的代码中尝试了接受范围。增加范围并没有帮助它。但是谢谢你的建议。
Accept-Ranges:bytes
Access-Control-Allow-Origin:*
Connection:Keep-Alive
Content-Length:3340918
Content-Range:bytes 0-3340917/3340918
Content-Type:audio/mp4
Date:Fri, 17 Apr 2015 21:47:21 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9
X-Powered-By:PHP/5.5.22
Accept-Ranges:bytes
Access-Control-Allow-Origin:*
Connection:Keep-Alive
Content-Length:3340918
Content-Range:bytes 0-3340917/3340918
Content-Type:audio/mp4
Date:Fri, 17 Apr 2015 21:29:04 GMT
ETag:"32fa76-5139745cc934f"
Keep-Alive:timeout=5, max=100
Last-Modified:Mon, 13 Apr 2015 08:55:15 GMT
Server:Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9