對 MAX_FILE_SIZE
設置的值,不能大于 php.ini 文件
設置中 upload_max_filesize
選項設置的值。其默認值為 2M 字節。
如果內存限制設置被激活,可能需要將 memory_limit 設置的更大些,請確認 memory_limit 的設置足夠的大。
如果 max_execution_time
設置的值太小,腳本運行的時(shí)間可能會(huì )超過(guò)該設置。因此,也請保證
max_execution_time
足夠的大。
注意: max_execution_time 僅僅只影響腳本本身運行的時(shí)間。任何其它花費在腳本運行之外的時(shí)間,諸如用函數 system() 對系統的調用、sleep() 函數的使用、數據庫查詢(xún)、文件上傳等,在計算腳本運行的最大時(shí)間時(shí)都不包括在內。
max_input_time
以秒為單位設定了腳本接收輸入的最大時(shí)間,包括文件上傳。對于較大或多個(gè)文件,或者用戶(hù)的網(wǎng)速較慢時(shí),可能會(huì )超過(guò)默認的
60 秒
。
如果 post_max_size
設置的值太小,則較大的文件會(huì )無(wú)法被上傳。因此,請保證
post_max_size
的值足夠的大。
As of PHP 5.2.12, the
max_file_uploads configuration
setting controls the maximum number of files that can uploaded in one
request. If more files are uploaded than the limit, then
$_FILES will stop processing files once the limit is
reached. For example, if
max_file_uploads is set to
10
, then $_FILES will never contain
more than 10 items.
不對正在操作的文件進(jìn)行驗證可能意味著(zhù)用戶(hù)能夠訪(fǎng)問(wèn)其它目錄下的敏感信息。
請注意 CERN httpd 似乎會(huì )丟棄它從客戶(hù)端獲得的 content-type mime 頭信息中第一個(gè)空格后所有的內容,基于這一點(diǎn),CERN httpd 不支持文件上傳特性。
鑒于文件路徑的表示方法有很多種,我們無(wú)法確保用使用各種外語(yǔ)的文件名(尤其是包含空格的)能夠被正確的處理。
開(kāi)發(fā)人員不應將普通的 input
輸入字段和文件上傳的字段混用同一個(gè)表單變量(例如 input
名都用
foo[]
)。