常見缺陷

MAX_FILE_SIZE 設定的值,不能大於 ini 設定中 upload_max_filesize 選項設定的值。其預設值為 2M 位元組。

若果記憶體限制設定被啟動,可能需要將 memory_limit 設定的更大些,請確認 memory_limit 的設定足夠的大。

若果 max_execution_time 設定的值太小,腳本運行的時間可能會超過該設定。因此,也請保證 max_execution_time 足夠的大。

注: max_execution_time 僅僅只影響腳本本身運行的時間。任何其它花費在腳本運行之外的時間,諸如用函數 system() 對系統的呼叫、sleep() 函數的使用、資料庫查詢、檔案上傳等,在計算腳本運行的最大時間時都不內含在內。

警示

max_input_time 以秒為單位設定了腳本接收輸入的最大時間,內含檔案上傳。對於較大或多個檔案,或是會員的網速較慢時,可能會超過預設的 60 秒

若果 post_max_size 設定的值太小,則較大的檔案會無法被上傳。因此,請保證 post_max_size 的值足夠的大。

不對正在動作的檔案進行驗證可能意味著會員能夠訪問其它目錄下的敏感訊息。

請注意 CERN httpd 似乎會丟棄它從用戶端獲得的 content-type mime 頭訊息中第一個空格後所有的內容,基於這一點,CERN httpd 不支援檔案上傳特性。

鑒於檔案路徑的表示方法有很多種,我們無法確保用使用各種外語的檔案名(尤其是包括空格的)能夠被正確的處理。

開發人員不應將普通的輸入欄位和檔案上傳的欄位混用同一個表單變量(例如都用 foo[])。