【转自phpchina开发社区】
你所不知道的 POST
http://www.phpchina.com/portal.php?mod=view&aid=40121
一. Content-Type
1.application/x-www-form-urlencoded ⇒ 用$_POST获得键值对
2.multipart/form-data ⇒ 用$_FILE获取文件内容,用$_POST获得键值对
3.raw(raw可以上传json,xml,文本) ⇒ 用php://input获得内容
二. $_POST vs php://input vs HTTP_RAW_POST_DATA
1. $_POST ⇒ 可以获 Content-Type 为 application/x-www-form-urlencoded 或者 multipart/form-data 的请求
2. HTTP_RAW_POST_DATA ⇒ $POST不能获取的方式,都会存储在HTTP_RAW_POST_DATA,用$GLOBALS[‘HTTP_RAW_POST_DATA’] 接收
3. php://input ⇒ 允许读取 POST 的原始数据。给内存带来的压力较小,并且不需要 php.ini 设置。不能用于 enctype=”multipart/form-data”
注意:在php 7中已经取消了HTTP_RAW_POST_DATA,我们平时使用$POST和php://input就好了。