首页 课程中心 问答&分享 读书 公众号框架 HUI H.JS 开放源 登录 & 注册
 几种php获取post数据的方式
[ 明媚code ] 发布于 : 2017-06-21  浏览 :  次

php获取post数据的方式归纳:

1、$_POST['paramName']

只能接收Content-Type: application/x-www-form-urlencoded提交的数据,php会将http请求body相应数据会 填入到数组$_POST,填入到$_POST数组中的数据是进行urldecode()解析的结果。(其实,除了该Content-Type,还有 multipart/form-data表示数据是表单数据)


2、file_get_contents("php://input")

适用大多数类型的Content-type,php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小。php://input 不能用于 enctype="multipart/form-data"。


3、$GLOBALS['HTTP_RAW_POST_DATA'];

$HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。


另外 $GLOBALS["HTTP_RAW_POST_DATA"] 在php 5.6 及以上版本会被移除,可以用下面的方式进行判断(学习老师的代码):

if(PHP_VERSION >= 5.6){
    $data = file_get_contents("php://input");
}else{
    $data = $GLOBALS["HTTP_RAW_POST_DATA"];
}


教程更新
More...