将音频文件从家用计算机传输到我的网站

时间:2014-02-17 19:40:02

标签: php mysql apache wamp html5-audio

您好!我有一些关于我正在构建的网站的问题,该网站要求在引用我的SQL数据库后使用PHP将音频文件回显到我的HTML上。

首先,我的页面有一个音频控制标签,里面有一个php echo,如下所示:

<audio controls>
    <source src="audio/<?php echo $file; ?>" type="audio/mp3">
</audio controls>

变量$ file等于用户在填写不同页面上的选择表单后想要播放的音频文件,该表格从我的数据库中提取:

INSERT INTO table
    VALUES
    (NULL, "track01.mp3");
    (NULL, "track02.mp3");
    (NULL, "track03.mp3");
    (NULL, "track04.mp3");
因此,如果用户从选择表单中选择第一首曲目,则HTML如下所示:

<audio controls>
    <source src="audio/track01.mp3" type="audio/mp3">
</audio controls>

一切正常至

我的音频加载完美,php / mysql代码运行良好;我遇到的问题是我的数据库中将有超过5千兆字节的音频,由于磁盘空间限制,我无法将其放到我的Web服务器上。所以我想,“我怎样才能让我的音频流到我的网站,所以我的网站上不需要5千兆字节?”

所以我开始研究利用Apache服务器(因为我已经使用WAMP测试我的网站了)并尝试将该服务器链接到我的网站。

我的第一个测试是将我的所有音乐放到我的本地主机上,然后我更改了我的实时网站上的代码来调用这样的文件:

<audio controls>
    <source src="http://localhost/audio/<?php echo $file; ?>" type="audio/mp3">
</audio controls>

这也很好用,但显然这对其他人不起作用,因为他们无法在自己的计算机上访问我的本地主机。

所以我的重要问题是,我如何设置我的网站,以便我的php将回显来自家用计算机上localhost的文件,同时也允许任何查看我网站的人都能够看到没有错误的音频标签?我认为这与每个有权访问我的IP地址的人有关,但到目前为止我尝试的所有内容都失败了。我的问题有解决方案吗?我采取了错误的做法吗?有什么我应该指定的吗?

任何答案都将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:4)

首先,不建议从家用电脑托管文件

  • 您不能将计算机保持在24/7

  • 您的ISP的正常运行时间不能超过99%

  • 您不会在家中获得100mbps或1gig / s端口,以便用户可以无缝收听音频

如果您仍想继续使用此功能,则需要静态IP或指向您PC的域,端口80(Apache)必须打开。 您在数据库中的文件将指向 http://(your-ip / domain-of-your-pc)/ filepath其中filepath是xampp / wamp中的文件夹。

静态IP:来自您的互联网提供商的WAN IP,每次重新连接都不会改变。

提示:

  • 如果您没有静态IP或seprate域,则可以使用NO-IP 到你的电脑。
  • 您仍然可以将1个子域指向您的PC ip data.yourdomain.com看起来很专业:)

答案 1 :(得分:0)

这需要几个步骤和不错的上传带宽。

  1. 将您的路由器配置为接受端口80请求并将其转发到您的PC
  2. 在您的实时网站中,您需要使用公共IP引用音频文件,例如<source src="http://24.35.158.64/audio/track01.mp3" type="audio/mp3">
  3. 配置apache以侦听该IP地址并将其路由到您的MP3文件夹
  4. 根据您的ISP,这将是可能的或不可能的。

答案 2 :(得分:0)

我希望云存储 - 有许多引擎可以提供非常好的价格/一些免费的。例如Amazon S3,Box,DropBox等。目前我有超过50Gb的免费存储空间,其中许多提供商提供对共享目录的http访问 - 只要您没有违反任何版权法等。