javascript - HTML 音乐播放器 - 绝对文件位置(即 C :\song. mp3)

标签 javascript php html

早上好,

我已经使用 SO 上的修改示例组装了一个音乐播放器。如果文件位于网站目录中,我的播放器可以正常播放歌曲,但是我希望更改它,以便源可以存在于服务器上的任何位置。我在这里查看了这方面的示例,但是我发现这些示例要么不起作用,要么不适用于我的情况。

目前我有这一行:

<audio id="audio-player" src="media/song.mp3" type="audio/mp3" controls="controls"></audio>

播放位于网站目录中的 media 文件夹中的文件。

我想要的是这样的:

<audio id="audio-player" src="C:\song.mp3" type="audio/mp3" controls="controls"></audio>

目前我正在使用 HTML 和 JS 进行此操作,但我愿意接受任何建议。我真正关心的是我可以制作一个可以从任何位置播放文件的音乐播放器,无论这是如何完成的。

感谢您的宝贵时间。

最佳答案

当 url 为 C:\song.mp3 时,您告诉用户访问其本地 C 驱动器。您需要创建一个代理网页来访问不在本地 Web 根目录 (public_html) 中的文件。因此,您可以在本地 webroot 中创建一个包含以下代码的网页:

代理.php

<?php 
    header("Content-Type: audio/mp3");
    echo file_get_contents("C:\\audio\\" . $_GET["name"] . ".mp3"); 
?>

如果您想访问所需的音频文件,您可以访问 URL proxy.php?name=song。就像这样

<audio id="audio-player" src="proxy.php?name=song" type="audio/mp3" controls="controls"></audio>

您还应该阻止任何 "..\" 以及可能的 "~",以便它们无法访问父文件夹。

关于javascript - HTML 音乐播放器 - 绝对文件位置(即 C :\song. mp3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22481370/

相关文章:

javascript - Qt 和 JavaScript 映射数据

javascript - 我可以从框架修改 html 并保存修改吗?

php - 使用 AJAX/PHP/MySQL 在服务器和客户端之间传输数据的安全有效方法?

html - CSS:在同一行上有 3 个 div,中间一个占据剩余空间

javascript - 操作由 AJAX 填充的下拉菜单

javascript - 访问速度模板中的 jquery/javascript 变量

php - 如何划分列表

php - MacBook air M1芯片安装PHP的问题

javascript - 将带有类(及其底层元素)的现有 div 元素添加到 div

Javascript 多个 IMG 数组