1.檢查form表單
1.1 是否添加enctype="multipart/form-data"屬性,
1.2 是否使用post發送方式
2.1查看file_uploads屬性是否為on
在命令模式下輸入?file_uploads即可快速找到該屬性;
2.2 查看upload_max_filesize設置,如果比php中設置的size尺寸小也會導致$_FILES為空,默認為2M,可以改為自己想要;
在php.ini里面查看如下行:
upload_max_filesize = 8M //上傳限制
post_max_size = 10M // POST也限制
memory_limit = 20M //內存也限制
file_uploads = On //一樣限制搞死你
upload_max_filesize = 2G //這也是限制
max_file_uploads = 2000 //這也是限制
把這些值改成我所說的,看看有沒有問題,另外要確認上傳的 <form> 里沒有類似下面的這行
<input type="hidden" name="MAX_FILE_SIZE" value="500000">
這樣也是限制上傳大小用的。
以下可以參考
- file_uploads = on //是否允許通過HTTP上傳文件的開關,默認開啟
- upload_tmp_dir //臨時文件儲存的路徑
- upload_max_filesize 20M //允許上傳的文件最大值
- post_max_size 22M //通過表單POST所能上傳的大小
- max_execution_time 600 //單個PHP頁面允許運行的最大時間
- max_input_time 600 //單個PHP頁面接收數據所需的最大時間,默認60秒 ,這里改成0就不受上傳時間限制啦
- memory_limit 256M //單個PHP頁面執行過程中可占用的最大內存,默認8M