2012-09-06 32 views
0

我是PHP和HTML的新手,並且在使用POST時無法理解表單的enctype屬性。在使用PHP進行文件上傳的所有示例中,都寫到應該將enctype設置爲multipart/form-data(據我瞭解,它用於文件)。但是,在所有這些示例中,表單上唯一的輸入是文件輸入。爲混合數據類型設置enctype屬性,包括文件

我的問題是,如果我想要混合輸入形式呢?特別是文本和文件。然後,如果我將enctype設置爲multipart/form-data,我仍然可以使用$ _FILES和$ _POST訪問PHP中的文件和文本嗎?

謝謝

+0

爲什麼不自己嘗試一下? – Musa

+0

我見過一些帖子說這樣我無法從$ _POST獲取數據。對於前:http://stackoverflow.com/questions/1075513/php-parsing-multipart-form-data –

+1

加密類型時使用表單中包含文件的輸入,如果你的表格沒有文件輸入,不需要它。只有在您的表單中添加enctype時,纔會在$ _FILES中獲得值。不要擔心$ _POST,除了文件輸入外,您可以使用它來訪問所有值。 – gaurang171

回答

1

使用multipart/form-data

它將每段數據轉換爲多部分MIME請求中的一部分(然後對每個部分進行一些特定的編碼)。它不僅適用於文件,並且如果您使用的是PHP,則$_POST將正常填充。

替代方案(application/x-www-form-urlencoded)基本上構建了一個查詢字符串。對於POST請求,它使該查詢字符串成爲請求正文。這種格式沒有任何編碼文件的規定。