php接收不到file的解決方案:1、找到php.ini設定檔;2、設定「upload_max_filesize = 30M」內容;3、修改post_max_size選項即可。
本文操作環境:windows7系統、PHP7.1版、Dell G3電腦。
php 接收不到file怎麼辦?
php 取得不到$_file常見原因
今天在做for表單上傳的時候出現一個奇怪的問題,表單提交取得不到了,連普通的欄位都取得不到了,因為做了檔案上傳所以去看了for表單有沒有加enctype="multipart/form-data"屬性,發現也加了;
後來又去php.ini中開啟檔案上傳的功能file_uploads=on發現也是開啟的,苦思冥想調試了半天還是不行,後面想到自己做的另外一個項目也是上傳圖片的那個是可以獲取到數據的,就去看了一下,發現代碼也沒什麼差別,拿到這邊還是行不通,後面就去了php.ini裡面看配置看是不是有什麼不對,看到了upload_max_filesize =2M(即文件上傳的大小為2M)因為我上傳文件超過2M,我把upload_max_filesize =2M改了upload_max_filesize =64M,重啟伺服器,發現還是不行,後面想了一下是不是表單提交的時候還有限制,後面有趣php.ini裡面找到post_max_size=8M,(其代表允許POST的資料最大位元組長度,預設為8M),修改為post_max_size=64M,重啟服務,發現可以了。
總結:
php.ini設定檔中的預設檔案上傳大小為2M,預設upload_max_filesize = 2M,即檔案上傳的大小為2M,如果你想上傳超過8M的文件,如30M,你必須配置upload_max_filesize = 30M。
但是光線設定upload_max_filesize = 30M還是無法實現檔案的上傳功能,你必須修改php.ini設定檔中的post_max_size選項,其代表允許POST的資料最大位元組長度,預設為8M,所以還要設定post_max_size=30M。
如果POST資料超出限制,那麼$_POST和$_FILES將會為空。要上傳大文件,你必須設定該選項值大於或等於 upload_max_filesize指令的值。
推薦學習:《PHP影片教學》
以上是php 接收不到file怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!