有關PHP檔案上傳設定
下面的有關設定都可以在php.ini內找到
file_uploads = On
//On才可以上傳檔案 Off禁止上傳
upload_max_filesize = 200M
//單ㄧ檔案上傳大小
max_file_uploads = 200
//單次上傳檔案數限制;左例只能一次上傳200個檔案;PHP5.2.12以上版本的php.ini內是沒有的,需要自己加上
memory_limit = 256M
//執行每個script的記憶體大小限制
post_max_size = 220M
//單次檔案上傳大小;如果你一次上傳三個,就是三個加起來不能超過200M,另外上傳的資料常度也會列入計算(例如:表單內輸入的字元)
注意:調整的過程是 memory_limit > post_max_size > upload_max_size 唯有這樣做調整才能有效上傳
ㄧ般而言按照上述的參數調整就不會有錯
但偶有例外會發生Timeout的狀況
這時就需要檢查其他地方
max_execution_time = 30
//執行每個script的時間限制(單位:秒),0表示沒有限制;左例30秒後系統將中止執行程式
max_input_time = 30
//接收script當中輸入數據(POST、GET、upload)的最大時間限制(單位:秒)
另外,通常大家都忽略了,伺服器本身也會做限制
筆者本身是使用IIS 7,所以這邊就先介紹IIS 7(其實Apache也有)
IIS 7的檔案限制其實是在
C:\Windows\System32\inetsrv\config\schema
底下的 IIS_schema.xml 檔
打開後先搜尋到 <element name="requestLimits">
確認是不是有 <attribute name="maxAllowedContentLength" type="uint" defaultValue="300000000" />
預設是沒有的,在預設的情況下只有30M
所以必須手動加入紅色這行(此例為300M)
當然一定要php.ini內的設定都來的大
全部都確認過後其實大致上就沒問題了
如果覺得對你有幫助的話. 請幫小弟按個讚吧~
留言列表