本文主要和大家分享PHP表單$_FILES為空如何解決,在文件上傳中$_FILES接收不到值的情況有很多種,總結一下常見的錯誤有下邊幾種,也是大家在使用中容易犯的錯誤。
1.在form中忘記加上enctype="multipart/form-data"屬性,這個是最常犯的錯誤;
2.忘記在php.ini中開啟檔案上傳的功能file_uploads=on
在學習html時大家都知道form是用來向伺服器提交資料最常用的方式,而在很多資料提交時都會有文件的上傳。當然文件流的上傳需要一些特殊的處理。
<form action="" method="post" enctype="multipart/form-data"> ...... </form>
為什麼要加enctype="multipart/form-data"呢?這要來看看form中對於enctype屬性的解釋
值 | 描述 |
---|---|
application/x -www-form-urlencoded | 在發送前編碼所有字元(預設) |
#multipart/form-data |
不對字元編碼。 在使用包含檔案上傳控制項的表單時,必須使用該值。 |
text/plain | 空格轉換為 "+" 加號,但不對特殊字元編碼。 |
所以必須在檔案上傳時必須加multipart/form-data
#該選項的作用是設定是否允許上傳檔案。如果設定為off則不允許上傳檔案所以就接收不到$_FILES的值,所以如果要做檔案上傳則必須開啟。
這個參數是在PHP的設定檔php.ini。
相關建議:
#php檔案上傳-設定php.ini檔案以及預定義變數$_FILES
#以上是PHP表單$_FILES為空如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!