有關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內的設定都來的大

全部都確認過後其實大致上就沒問題了

 

如果覺得對你有幫助的話. 請幫小弟按個讚吧~

arrow
arrow
    創作者介紹
    創作者 newaurora 的頭像
    newaurora

    史丹利愛碎念

    newaurora 發表在 痞客邦 留言(0) 人氣()