我正在使用服务器端PHP访问一个HTML页面,该页面有一个收听音频的链接。HTML如下所示:
<a href="http://audio.somesite.com/audio?lang=es&text=sometext">
<span class="audio-blue"> </span>
</a>
在处理文档时,我需要我的服务器端脚本来检索上面a标记中引用的文件,然后将该文件提供给客户端进行流式传输。我只需要掌握如何完成第一步,即从HTML将文件保存在服务器上。从一堆其他似乎类似于这个的问题中得到提示,我尝试了这个:
file_put_contents("myfile.mp3", fopen("http://audio.somesite.com/audio?lang=es&text=sometext", 'r'));
上述显然失败了。我确信有一些非常直接的东西在躲避我。有什么暗示吗?
一步一步。。。
- 使用DOM解析器加载和解析HTML
- 在DOM中查询所需的链接,并提取
href
属性值 - 输出适当的
Content-Type
标头以及所需的任何其他标头 - 使用
readfile()
或类似于流的响应。不要使用file_get_contents()
,因为它会在发送之前缓冲整个响应