PHP中上傳圖片表單$_FILES為空的解決辦法

在文件上傳中$_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為空的解決辦法

發表評論

路人甲

網友評論(0)