php获取POST数据的三种方法实例详解


Posted in PHP onDecember 20, 2016

php获取POST数据的三种方法

方法一,$_POST

$_POST或$_REQUEST存放的是PHP以key=>value的形式格式化以后的数据。

方法二,使用file_get_contents(“php://input”)

对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。 事实上,用PHP接收POST的任何数据均使用本方法。而不用考虑Content-Type,包括二进制文件流也是可行的。

同$HTTP_RAW_POST_DATA比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。

php://input无法读取Content-Type为multipart/form-data的POST数据,需要设置php.ini中的always_populate_raw_post_data值为On才可以。

php://input读取不到$_GET数据。是因为$_GET数据作为query_path写在http请求头部(header)的PATH字段,而不是写在http请求的body部分。

方法三,使用全局变量$GLOBALS[‘HTTP_RAW_POST_DATA']

在$GLOBALS[‘HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。

但$GLOBALS[‘HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,只有在PHP在无法识别的Content-Type的情况下,才会将POST过来的数据原样地填入变量$GLOBALS[‘HTTP_RAW_POST_DATA']中,象Content-Type=application/x-www-form-urlencoded时,该变量是空的。

另外,它同样无法读取Content-Type为multipart/form-data的POST数据,也需要设置php.ini中always_populate_raw_post_data值为On,PHP才会总把POST数据填入变量$http_raw_post_data。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
php正则
Jul 07 PHP
FirePHP 推荐一款PHP调试工具
Apr 23 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
PHP里的单例类写法实例
Jun 25 PHP
php快速排序原理与实现方法分析
May 26 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
php mysql数据库操作类(实例讲解)
Aug 06 PHP
如何用Laravel包含你自己的帮助函数
May 27 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 #PHP
Discuz论坛密码与密保加密规则
Dec 19 #PHP
yii框架搜索分页modle写法
Dec 19 #PHP
YII框架中搜索分页jQuery写法详解
Dec 19 #PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 #PHP
利用PHP抓取百度阅读的方法示例
Dec 18 #PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 #PHP
You might like
php引用传值实例详解学习
2013/11/06 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
Python常用内置函数总结
2015/02/08 Python
Python 基础之字符串string详解及实例
2017/04/01 Python
纯python实现机器学习之kNN算法示例
2018/03/01 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
Django更新models数据库结构步骤
2020/04/01 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
优秀毕业生推荐信
2013/11/02 职场文书
车间统计员岗位职责
2014/01/05 职场文书
考试不及格的检讨书
2014/01/22 职场文书
劲霸男装广告词
2014/03/21 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
Oracle中日期的使用方法实例
2022/07/07 Oracle