2015-03-30 59 views
1

我正在開發一個web(html,php,js,mysql)應用程序,用戶可以將視頻上傳到服務器,服務器將它們存儲在一個文件夾中並向數據庫中添加一個條目。如何上傳一個php文件很少的大文件?

本地電視臺或媒體制作商作爲媒體經理對視頻進行分類目的是有用的。

該軟件旨在安裝在本地服務器上,因此您可以在幾秒鐘內上傳/下載大型視頻文件。

問題是我不知道如何處理這麼大的上傳。我已經增加了我的PHP.ini中的所有設置(post_max_size,upload_max_filesize,所有與腳本有關的時間以及腳本memory_limit到2G,這是系統允許我不會崩潰的最大值。高達1GB,沒有任何問題1GB和2GB之間,我得到這個消息:。

Warning: POST Content-Length of [filesize] bytes exceeds the limit of 1073741824 bytes in Unknown on line 0 

其中[filsezize]是我上傳字節的文件大小

在全球擁有超過2 GB的文件,上傳過程在瀏覽器上傳2GB時終止,並且錯誤是全部:

Warning: POST Content-Length of 2147483647 bytes exceeds the limit of 1073741824 bytes in Unknown on line 0 

我認爲這是因爲服務器沒有足夠的內存,但用戶可能上傳20GB文件,添加內存不是解決方案。

有沒有一種方法可以在不使用太多系統內存的情況下上傳真正的大文件?

編輯:即使用不同的技術。 JavaScript可以做到嗎?任何東西。但儘可能簡單。

¿YouTube如何處理他的上傳?

服務器是Synology DiskStation,所以我有很多的磁盤空間,但沒有太多的CPU或內存。

謝謝! ;)

+0

php是非常愚蠢的上傳。你需要比正在上傳的文件大一個memory_limit,並且在apache和php中都有post size的限制。如果你需要上傳「大」文件,那麼不要使用PHP來處理它們。 – 2015-03-30 17:33:53

+0

看看分塊 – rjdown 2015-03-30 18:10:28

回答

0

@antoniosastre:嗨,熟悉html的文件api?在那裏你可以切片文件上傳零件。這是一個非常好的教程:http://j.mp/fileapi-HTML