久艹网,亚洲一日韩欧美中文字幕2019,国产欧美日韩精品专区黑人,一区二区三区久久99

中山php|最優(yōu)網(wǎng)絡中山做網(wǎng)站 中山php建站

最優(yōu)良人

2011/08/14 at 02:38

上傳文件時$_FILES為空的解決方法

用xheditor上傳文件時,出現(xiàn)一點上傳就卡死沒反應的問題,在后臺處理上傳的php文件里打印$_FILES時發(fā)現(xiàn)為空數(shù)組,出現(xiàn)這個問題的原因主要有兩個:表單原因或者php設置原因:

1,表單類型:

上傳文件的表單編碼類型必須設置成 enctype="multipart/form-data",因為要傳大數(shù)據(jù),一般提交方式用POST

2,php設置問題:

php默認的post_max_size 為2M.如果 POST 數(shù)據(jù)尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便會為空. 解決的方法是:

1. 一般的文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鐘才能上傳完. 但在php中,默認的該頁最久執(zhí)行時間為 30 秒.就是說超過30秒,該腳本就停止執(zhí)行. 這就導致出現(xiàn) 無法打開網(wǎng)頁的情況.這時我們可以修改 max_execution_time 在php.ini里查找 max_execution_time 默認是30秒.改為 max_execution_time = 0(可修改范圍為PHP_INI_ALL) 0表示沒有限制

或者在php文件頭設置ini_set('max_execution_time',0);

2. 修改 post_max_size 設定 POST 數(shù)據(jù)所允許的最大大小。此設定也影響到文件上傳。 查找 post_max_size .改為 post_max_size = 150M(可修改范圍為PHP_INI_PHP_INI_PERDIR)

3. 很多人都會改了第二步.但上傳文件時最大仍然為 8M. 為什么呢.我們還要改一個參數(shù)upload_max_filesize 表示所上傳的文件的最大大小。 查找upload_max_filesize,默認為8M改為 upload_max_filesize = 100M(可修改范圍為PHP_INI_PHP_INI_PERDIR)

另外要說明的是,post_max_size 大于 upload_max_filesize 為佳.

PHP_INI_* 常量的定義
常量 含義
PHP_INI_USER 1 配置選項可在用戶的 PHP 腳本或 Windows 注冊表中設置
PHP_INI_PERDIR 2 配置選項可在 php.ini, .htaccesshttpd.conf 中設置
PHP_INI_SYSTEM 4 配置選項可在 php.ini or httpd.conf 中設置
PHP_INI_ALL 7 配置選項可在各處設置
標簽:
-