2012-08-26 28 views
3

今天,我正在爲化身文件上傳,一切都很正常,它會調整圖像等,但選擇一個大的和無效的文件時偶爾它會產生這個錯誤:奇怪的PHP錯誤,它來自哪裏?笨

Warning: POST Content-Length of 52091839 bytes exceeds the limit of 8388608 bytes in Unknown on line 0 
You did not select a file to upload. 

這不會發生的所有時間,只是偶爾。通常,當文件太大時,它會提供正確的錯誤消息。

有沒有人有一個想法,這個錯誤來自何處,爲什麼它顯示?

謝謝!

+0

如果答案不起作用,你可能想看看http://stackoverflow.com/questions/6315358/php-warning-post-content-length-of-113-bytes-exceeds-the-limit-的-1988100096-b – Sylwester

回答

5

聽起來像你需要在php.ini中增加post_max_size。如果您還沒有增加upload_max_filesize,您可能還需要增加它。

# php.ini 
# Allow huge files: 
# Post usually needs to be bigger than file upload size! 
post_max_size = 256M 
upload_max_filesize 128M 
+0

這不是我想的問題,因爲如果我有一個太大的文件來發布它顯示正確的錯誤:上傳的文件超過了PHP配置文件中允許的最大大小。這是一個不同的錯誤,我沒有設置任何地方 – user1362916

+0

@ user1362916這兩個指令會導致不同的錯誤。確保兩者都足夠大。 –

2

更新在php.ini您post_max_size到一個較大的值

upload_max_filesize設置最大文件大小,用戶可以上傳,而post_max_size設置可以通過POST中發送的最大數據量形成。這可能是爲什麼當你嘗試上傳一個大尺寸的單個文件,但是當你試圖上傳多個文件時,你有時會遇到大文件錯誤的原因。

1

這與上傳文件時的編碼方式有關。

基本上它被看作是一個非常大的POST。

所以你想你的php.inipost_max_size大於你的upload_max_filesize值。

根據您使用的編碼,它應該從60%增加到100%。

否則,您可能最大文件大小爲5 M,但這會被編碼爲8.01 M;當發生這種情況時,文件大小檢查通過,但是帖子主體大小檢查失敗。因此你的錯誤。