我想允許用戶上傳大文件(64MB),並正在計劃改變:在PHP設置中,應該memory_limit> upload_max_filesize?
upload_max_filesize to 64MB
不過,是否也應該改變
memory_limit to 64MB or larger?
是memory_limit的連接max_filesize?
我想允許用戶上傳大文件(64MB),並正在計劃改變:在PHP設置中,應該memory_limit> upload_max_filesize?
upload_max_filesize to 64MB
不過,是否也應該改變
memory_limit to 64MB or larger?
是memory_limit的連接max_filesize?
不,這不是必要的。
根據請求的內容類型,PHP具有不同的POST閱讀器和處理程序。在「multipart/form-data」(用於發送文件)的情況下,rfc1867_post_handler
充當混合閱讀器/處理程序。它填充了$_POST
和$_FILES
。進入$_POST
進入內存限制,進入$_FILES
也算。
但是,$_FILES
只是關於文件的元數據,而不是文件本身。這些只是寫入磁盤,因此不計入內存限制。
post_max_size
必須大於upload_max_filesize
。如果表單包含更多文件上傳,則post_max_size
必須大於它們的總和。
memory_limit
在文件上傳中沒有任何重要作用,因爲上傳的文件存儲在/tmp
(Linux)目錄中,而不是存儲器中。如果你想用表單域提交大量數據(而不是文件上傳),那麼你需要一個大的memory_limit
,否則不需要。
源代碼鏈接不錯:-D – Notinlist 2010-09-06 11:58:34
@Notinlist他可能不是最漂亮的例子--600行函數... – Artefacto 2010-09-06 12:01:11
謝謝Artefacto - 我認爲upvotes表明你的論點是正確的... – tzmatt7447 2010-09-09 13:34:56