0

我有一个网站,用户可以在其中上传 mp3 文件(uploadify),使用 html5 播放器(jplayer)流式传输它们并使用 php 脚本(www.zubrag.com/scripts/)下载它们。

当用户上传歌曲时,音频文件的路径保存在数据库中,我正在使用该数据来播放并显示歌曲的下载链接。我遇到的问题是,根据我的主机,这种方法在服务器上使用了大量内存,这是专用的。

脚本链接:http: //pastebin.com/Vus8SRa7

我应该如何正确处理脚本?找出问题的最佳方法是什么?关于清理代码的任何想法?

非常感谢任何帮助。

4

2 回答 2

1

我建议将您的文件存储在磁盘上(命名为随机的 [检查冲突!] 或顺序的,没有文件扩展名,并且在 doc 根目录之外),并且只将信息存储在您的数据库中。以这种方式从磁盘流式传输文件比从数据库结果中传输文件要容易得多。

当您从数据库结果中检索整个文件的内容时,该数据必须在内存中。 readfile()没有这个问题。如果您愿意,在将文件发送回客户端时使用标头返回原始文件名。

于 2012-06-11T15:58:51.607 回答
0

我建议您在将 MP3 的二进制数据写入 HTTP 输出时不要缓冲内容。这样您就可以节省大量的物理和虚拟内存使用量。

于 2012-11-06T18:58:42.553 回答