如何通过流媒体链接(非直接)访问音频文件,并使用PHP将其存储在我的服务器上


How to access the audio file off a streaming link (non-direct) and store it on my server using PHP?

我正在使用服务器端PHP访问一个HTML页面,该页面有一个收听音频的链接。HTML如下所示:

<a href="http://audio.somesite.com/audio?lang=es&amp;text=sometext">
<span class="audio-blue">&nbsp;</span>
</a>

在处理文档时,我需要我的服务器端脚本来检索上面a标记中引用的文件,然后将该文件提供给客户端进行流式传输。我只需要掌握如何完成第一步,即从HTML将文件保存在服务器上。从一堆其他似乎类似于这个的问题中得到提示,我尝试了这个:

file_put_contents("myfile.mp3", fopen("http://audio.somesite.com/audio?lang=es&amp;text=sometext", 'r'));

上述显然失败了。我确信有一些非常直接的东西在躲避我。有什么暗示吗?

一步一步。。。

  1. 使用DOM解析器加载和解析HTML
  2. 在DOM中查询所需的链接,并提取href属性值
  3. 输出适当的Content-Type标头以及所需的任何其他标头
  4. 使用readfile()或类似于的响应。不要使用file_get_contents(),因为它会在发送之前缓冲整个响应