今天在作上傳的時候出現一個很是怪的問題,有時候表單提交能夠獲取到值,有時候就獲取不到了,連普通的字段都獲取不到了,苦思冥想還沒解決,最後問了師 傅,師傅看了說挺奇怪的,而後問我upload_max_filesize的值改了嗎,我說改了啊,師傅也解決不了了。過了一會師傅問 post_max_size改了嗎,我說那個和上傳不要緊吧,師傅沒理我,我仍是照着本身的想法繼續測試,弄了半天仍是不行,最後試了師傅提的意見,成功 了,原來上傳是和post_max_size有關係的。php
總結:php.ini配置文件中的默認文件上傳大小爲2M, 默認upload_max_filesize = 2M,即文件上傳的大小爲2M,若是你想上傳超過8M的文件,好比20M,你必須設定upload_max_filesize = 20M。可是光設置upload_max_filesize = 20M仍是沒法實現大文件的上傳功能,你必須修改php.ini配置文件中的post_max_size選項,其表明容許POST的數據最大字節長度,默 認爲8M。若是POST數據超出限制,那麼$_POST和$_FILES將會爲空。要上傳大文件,你必須設定該選項值大於 upload_max_filesize指令的值,我通常設定upload_max_filesize和post_max_size值相等。另外若是啓用 了內存限制,那麼該值應當小於memory_limit選項的值。post
文件上傳的其餘注意事項測試
在上傳大文件時,你會有上傳速度慢的感受,當超過必定的時間,會報腳本執行超過30秒的錯誤,這是由於在php.ini配置文件中max_execution_time配置選項在做怪,其表示每一個腳本最大容許執行時間(秒),0 表示沒有限制。你能夠適當調整max_execution_time的值,不推薦設定爲0。內存