2011-11-01 61 views
3

我正在使用cakephp實現文件上傳系統。我使用PHP 5.2.5和cakephp 1.2。下面我提到了我在php.ini中給出的最大文件大小。在php中上傳文件的最大尺寸

post_max_size = 2000M 
upload_max_filesize = 1800M 
memory_limit = 3328M 

但我需要上傳5個GB的文件,當我更改文件上傳大小,以便5GB在php.ini web服務器沒有響應。 有什麼方法可以用來上傳5 GB文件到我的系統?以及如何計算我可以在php.ini中配置的文件的最大大小。

通過遷移到PHP 5.3我將能夠支持更多的文件上傳容量。

乾杯!!!!

+0

大部分時間這些設置都是基於服務器的 –

+4

通過HTTP上傳5GB數據是不現實的,請嘗試使用FTP。 – TJHeuvel

回答

1

你打算使用webform上傳這些5GB?這將需要很長時間。你應該使用FTP。

+0

是的,這就是我建議我的客戶做的(FTP)。但他想要這個功能。有沒有這方面的配置? – Shanaka

+1

我認爲你必須說服你的客戶,這是不可能:) –

0

也設置max_input_time變量,否則PHP在讀取上傳文件時可能會超過輸入時間,並停止執行。

使用閃存上傳器(uploadify可能會訣竅) - 因爲瀏覽器將掛斷並且不會等待服務器響應。

+0

事情是Darhazer,當我更改這些參數更多,2000MB的Web服務器無法正常執行。 – Shanaka

2

AFAIK使用HTML-Form上傳5GB真的很大。不要忘記,二進制數據通常是以原始8位的形式讀取的,但TCP/IP協議棧僅支持7位字符集傳輸。所以你的所有數據都被封裝在另一個代碼BASE64中,這會增加大約40%的數據開銷,所以它的數據量是6+ GB。我不知道上傳大小是否應該包含這個開銷,但是您可以嘗試添加這個以發佈最大大小,因爲根據文檔,最大大小應該是上傳大小的兩倍。我也建議你使用lighttpd + fast-cgi。

+0

我在這裏使用的上傳器不僅僅是html頁面。我正在使用flex前端 – Shanaka

+1

也許你想使用lighttpd + fastcgi。 – Bytemain

+0

感謝您的輸入。我會檢查 – Shanaka