2012-06-11 65 views
0

我有一個網站,用戶可以在其中上傳MP3文件(uploadify),使用html5播放器(jplayer)流式傳輸並使用php腳本(www.zubrag。 COM /腳本/)。Mp3流媒體/下載網站 - 阿帕奇服務器內存問題

當用戶上傳歌曲時,音頻文件的路徑會保存在數據庫中,並且我正在使用該數據播放和顯示歌曲的下載鏈接。 我遇到的問題是,根據我的主機,這種方法在服務器上使用了大量內存,這是專用的。

鏈接腳本:http://pastebin.com/Vus8SRa7

我應如何妥善處理腳本?那麼追蹤問題的最好方法是什麼?關於清理代碼的任何想法?

任何幫助非常感謝。

回答

1

我會建議將你的文件存儲在磁盤上(命名爲隨機[檢查衝突!]或順序,沒有文件擴展名,以及doc根外),並且只將信息存儲在數據庫中。以這種方式從磁盤流式傳輸文件比從數據庫結果中傳出要容易得多。

當您從數據庫結果中檢索整個文件的內容時,該數據必須位於內存中。 readfile()沒有這個問題。如果您願意,可以在將文件發送回客戶端時使用標題返回原始文件名。

+0

我只在數據庫中存儲文件路徑以及藝術家姓名和其他信息,所以當我想要對其進行流式處理或下載時,我會從數據庫請求路徑。這是你的意思嗎?謝謝回覆。 – Manolis

0

當您將MP3的二進制數據寫入HTTP輸出時,我建議您不要緩衝內容。這樣你就可以節省很多物理和虛擬內存的使用。