首頁 >後端開發 >php教程 >PHP表單$_FILES為空如何解決

PHP表單$_FILES為空如何解決

小云云
小云云原創
2018-03-16 13:19:193910瀏覽

本文主要和大家分享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。

相關建議:

PHP中$_FILES函數細說

php $_FILES的使用方法

#php檔案上傳-設定php.ini檔案以及預定義變數$_FILES

#

以上是PHP表單$_FILES為空如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn