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原创论坛
Oct 09 PHP
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
php利用cookie实现访问次数统计代码
May 19 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
php二分查找二种实现示例
Mar 12 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
php中strlen和mb_strlen用法实例分析
Nov 12 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
laravel框架实现敏感词汇过滤功能示例
Feb 15 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
PHP5/ZendEngine2的改进
2006/10/09 PHP
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
js获取页面description的方法
2015/05/21 Javascript
最简单的tab切换实例代码
2016/05/13 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
Python写的服务监控程序实例
2015/01/31 Python
Python切片知识解析
2016/03/06 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python实现学生管理系统开发
2020/07/24 Python
利用python 下载bilibili视频
2020/11/13 Python
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
离婚起诉书范本
2015/05/18 职场文书
让子弹飞观后感
2015/06/11 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
导游词之吉林吉塔
2019/11/11 职场文书