2

我正在尝试创建一个网站,用户可以在其中收听不同的 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操作,但仍然无法正常工作。

知道如何解决这个问题吗?

4

1 回答 1

2
/home/jorge/VOCE/Recordings/-1458206716/Tiago@Aug_31_2012_Tiago_ID_1204811836_pr‌​ebaseline.wav

不要使用绝对路径。这些在本地文件系统之外无效。您必须使用相对路径,以便浏览器可以构建指向可访问文件的请求,所以它应该更像这样:

VOCE/Recordings/-1458206716/Tiago@Aug_31_2012_Tiago_ID_1204811836_pr‌​ebaseline.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. 然后从to的相对路径是。如果你真的需要使用绝对路径(不推荐),那么它应该是. 选择最适合您的。test.phpaudio.wav../recordings/audio.wavhttp://yourdomain/recordings/audio.wav

于 2012-11-19T12:43:12.650 回答