我正在创建一个音乐作品集网站,并希望允许用户播放我的歌曲,而他们却无法看到源文件/无法下载mp3文件。
我为此项目使用PHP,并通过HTTP标头加载文件。
<?php
$mp3 ='72vox.mp3';
if(file_exists($mp3)) {
header('Content-Type: audio/mpeg');
header('Content-Disposition: inline; filename="mp3_file.mp3"');
header('Content-length: '. filesize($mp3));
header('Cache-Control: no-cache');
header('Content-Transfer-Encoding: chunked');
readfile($mp3);
exit;
}
?>
页面加载后,我的mp3会播放。但是,我似乎无法弄清楚如何在页面上显示任何HTML(更重要的是,如何将音频控件放置在div中)。
感谢您的任何帮助
答案 0 :(得分:2)
我正在创建一个音乐作品集网站,并希望允许用户播放我的歌曲,而他们却无法看到源文件/无法下载mp3文件。
那不可能。
在这种情况下,PHP脚本的URL实际上是音频文件的URL。
页面加载后,我的mp3会播放。但是,我似乎无法弄清楚如何在页面上显示任何HTML(更重要的是,如何将音频控件放置在div中)。
这与您提供文件的方式无关。您需要使用<audio>
标签或适当的JavaScript制作页面。当您转到此URL时,它不是服务器上的“页面”,而是浏览器对MP3文件的默认处理。其他浏览器只会下载它或在用户的默认音频播放器中打开它。
答案 1 :(得分:0)
“但是,我似乎无法弄清楚如何在页面上显示任何HTML(更重要的是,如何将音频控件放置在div中)。”
作为示例 ...
将PHP代码保存在名为getFile.php
的文件中。
现在,使用下面的代码创建HTML页面,并在<audio tag>
中使用PHP文件作为源。
您可以使用自己的“其他内容”代码扩展HTML。
<!DOCTYPE html>
<html>
<body>
<div id="div_myAudio">
<audio id="myAudio" controls>
<source crossorigin="anonymous" src="getFile.php" type="audio/mpeg">
</audio>
</div>
<div id="div_myOtherStuff">
My "Other Stuff" (HTML code) goes here or anywhere inside this document "body" tag...
</div>
</body>
</html>