在文件上傳中$_FILES接收不到值的情況有很多種,總結一下常見的錯誤有下邊幾種,也是大家在使用中容易犯的錯誤。 1.在form中忘記加enctype="multipart/form-data"屬性,這個是最常犯的錯誤; 2.忘記在php.ini中打開文件上傳的功能file_uploads=on
一、form中忘記加enctype="multipart/form-data"
在學習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
二、在php.ini中必須開啟file_uploads=on
該選項的作用是配置是否允許上傳文件。如果設置為off則不允許上傳文件所以就接收不到$_FILES的值,所以如果要做文件上傳則必須開啟。
這個參數是在PHP的配置文件php.ini中
原文:https://blog.csdn.net/marswill/article/details/58047223
轉載請注明出處 AE博客|墨淵 ? PHP中上傳圖片表單$_FILES為空的解決辦法
發表評論