上傳檔案時 FILES為空的解決方法

2021-07-03 10:22:51 字數 883 閱讀 5184

出現這個問題的原因主要有兩個:表單原因或者php設定原因:

1,表單型別:

上傳檔案的表單編碼型別必須設定成 enctype="multipart/form-data",因為要傳大資料,一般提交方式用post.

2,php設定問題:

php預設的post_max_size 為2m.如果 post 資料尺寸大於 post_max_size $_post 和 $_files superglobals 便會為空.

解決的方法是:

(1)在php.ini裡查詢 max_execution_time 預設是30秒.改為 max_execution_time = 0(可修改範圍為php_ini_all)0表示沒有限制或者在php檔案頭設定 ini_set('max_execution_time',0); 一般的檔案上傳,檔案很小.如果檔案很大,很可能要超過一分鐘才能上傳完. 但在php中,預設的該頁最久執行時間為 30 秒.就是說超過30秒,該指令碼就停止執行. 這就導致出現無法開啟網頁的情況.這時我們可以修改 max_execution_time來解決。

(2)修改 post_max_size 設定 post 資料所允許的最大大小。此設定也影響到檔案上傳。 查詢 post_max_size .改為 post_max_size = 150m(可修改範圍為php_ini_php_ini_perdir)

(3) 很多人都會改了第二步.但上傳檔案時最大仍然為 8m. 這是為什麼呢.我們還要改乙個引數upload_max_filesize 表示所上傳的檔案的最大大小。 查詢upload_max_filesize,預設為8m改為 upload_max_filesize = 100m(可修改範圍為php_ini_php_ini_perdir),另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.

上傳檔案時 FILES為空的解決方法

上傳 的時候列印 files為空,小的檔案就沒問題,後來發現是因為傳的檔案太大,出現這個問題的原因主要有兩個 表單原因或者php設定原因 1,表單型別 上傳檔案的表單編碼型別必須設定成 enctype multipart form data 因為要傳大資料,一般提交方式用post.2,php設定問題...

PHP上傳檔案時,檔案過大 FILES為空

在php中判斷上傳檔案的大小,但是檔案一但過大,print r files 的值就變為null了,有時候大家會遇到這麼乙個問題,上傳小檔案時,php能正常獲取到,但是檔案一超過8m就變為空了,我在做專案的時候,就遇到這樣的問題,我剛開始把最大上傳檔案值改為20m,在php.ini裡面,php max...

PHP上傳檔案時,檔案過大 FILES為空

在php中判斷上傳檔案的大小,但是檔案一但過大,print r files 的值就變為null了,有時候大家會遇到這麼乙個問題,上傳小檔案時,php能正常獲取到,但是檔案一超過8m就變為空了,我在做專案的時候,就遇到這樣的問題,我剛開始把最大上傳檔案值改為20m,在php.ini裡面,php max...