我正在尝试创建一个用户可以收听不同wav文件的网站。
我创建了一个php
脚本来获取我想要的所有.wav
个文件,并将其路径保留在数组中。
然后我这样做播放音频:
echo "<a href='teste.wav'>Play sample 1 </a>";
echo "<a href='" .$audios[$id][1] ."'>Play sample 2 </a>";
?>
<script src="http://mediaplayer.yahoo.com/js></script>
在第一种情况下,我将音频放在与脚本相同的文件夹上,并且工作正常。在第二种情况下,我将它放在一个完全不同的目录中,它永远不会找到该文件。
我知道示例2将直接在正在执行脚本的当前目录下引用某些内容,但我尝试使$audios[$id][1]
像http://home/.../file.wav
一样仍然无效。
知道如何解决这个问题吗?
答案 0 :(得分:2)
/home/jorge/VOCE/Recordings/-1458206716/Tiago@Aug_31_2012_Tiago_ID_1204811836_prebaseline.wav
不要使用绝对路径。这些是本地文件系统之外的无效。您必须使用相对路径,以便浏览器可以构建指向可访问文件的请求,因此它应该更像是:
VOCE/Recordings/-1458206716/Tiago@Aug_31_2012_Tiago_ID_1204811836_prebaseline.wav
(假设您的项目公开可见文件夹是VOCE
的父级)
但我尝试将$ audios [$ id] [1]设为
http://home/.../file.wav
并且仍然无法工作。
如果您的浏览器在运行服务器的同一台机器上运行并且您可以访问文件系统,那么仅。
修改强>
如何做到这一点 - 一些假设(如果真实系统不同,只需进行调整)您的文件系统结构如下
document-root/
scripts/
test.php
recordings/
audio.wav
index.html
document-root
是您的磁盘上的位置,httpd为其提供所有文件。这与它的确无关。如果我http://yourdomain/index.html
,那么它将显示index.html
的内容。您的脚本位于scripts/
文件夹中,您的音频文件位于recordings
。然后,从test.php
到audio.wav
的相对路径为../recordings/audio.wav
。如果您确实需要使用绝对路径(不推荐),则它应为http://yourdomain/recordings/audio.wav
。选择最简单的方法。