从php脚本返回时,你如何支持寻找mp3?

neb*_*ebs 9 php http file request

我的服务器上有一个mp3(网址只是示例):

http://www.my-server.com/myaudio.mp3
Run Code Online (Sandbox Code Playgroud)

我在服务器上有一个php脚本:

http://www.my-server.com/testmp3.php
Run Code Online (Sandbox Code Playgroud)

其中包含以下代码(我在这里得到):

<?
$file = "myaudio.mp3";

if (file_exists($file)) {
  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Disposition: attachment; filename='.basename($file));
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
  header('Content-Length: ' . filesize($file));
  ob_clean();
  flush();
  readfile($file);
  exit;
}
?> 
Run Code Online (Sandbox Code Playgroud)

这是我必须做的所有模仿行为,以便两个请求的行为方式相同,并返回完全相同的响应?或者有什么我想念的.

我在iOS上使用了一些流媒体代码(这里不相关),并且这两个请求都传输了音频,但是我无法正确使用php请求,但我可以直接使用mp3请求.

因此,在没有详细了解应用程序本身的情况下,我想首先消除这个变量.有什么我需要做的,以确保从另一个应用程序的角度来看这两个请求将返回完全相同的数据?

感谢您的任何意见,您可以在这里给我.

更新

事实证明,我的问题应该是"从php脚本返回时你如何支持寻找mp3?".

Bra*_*rad 6

为了支持搜索,您通常需要支持范围请求.

来自RFC:http: //www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35

另请参阅: 使用PHP发送文件时的可恢复下载?