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 相关文章推荐
封装一个PDO数据库操作类代码
Sep 09 PHP
在php和MySql中计算时间差的方法
Apr 22 PHP
php面向对象中的魔术方法中文说明
Mar 04 PHP
PHP中返回引用类型的方法
Apr 03 PHP
php无序树实现方法
Jul 28 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
Symfony2开发之控制器用法实例分析
Feb 05 PHP
php简单计算年龄的方法(周岁与虚岁)
Dec 06 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
Aug 17 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
smtp邮件发送一例
2006/10/09 PHP
php公用函数列表[正则]
2007/02/22 PHP
php 三维饼图的实现代码
2008/09/28 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
php计算年龄精准到年月日
2015/11/17 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python基于event实现线程间通信控制
2020/01/13 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
UNIX特点都有哪些
2016/04/05 面试题
大学生就业自荐书
2014/06/16 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
助学贷款贫困证明
2014/09/23 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
如何写辞职书
2015/02/26 职场文书
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS