HTML <form> 标签的 enctype

form的enctype有三种

application/x-www-form-urlencoded 在发送前编码所有字符(默认)
multipart/form-data

不对字符编码。

在使用包含文件上传控件的表单时,必须使用该值。

text/plain 空格转换为 "+" 加号,但不对特殊字符编码。

application/x-www-form-urlencoded 是表单 发送数据 默认的 ,  格式为 name=valse& name2=value2

multipart/form-data 是图片流常用的

text/plain 一般是默认 程序发送数据流的  编码方式。 

在php端接受的时候。  text/plain 方式是无法使用$_POST 的方式获取数据的。可以通过  $GLOBALS['HTTP_RAW_POST_DATA'] ,由于PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此,对型如text/xml的内容无法解析为$_POST数组,故保留原型,交给$HTTP_RAW_POST_DAT来接收。
$HTTP_RAW_POST_DATA 仅在POST的Content-Type类型不为PHP识别时才有效 但是file_get_contents("php://input");却可以application/x-www-form-urlencoded获取对应的流 multipart/form-data不可以,也就是说不是multipart/form-data或者application/x-www-form-urlencoded的 时候。

但是$POST 在multipart/form-data   application/x-www-form-urlencoded都可以获取对应key value ,但是 text/plain编码下不可以。

http://blog.sina.com.cn/s/blog_4657e98e0100dyxp.html

http://developer.51cto.com/art/200912/168103.htm

http://blog.sina.com.cn/s/blog_6f78e9030100rc9z.html

原文地址:https://www.cnblogs.com/zey23/p/3895368.html