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 相关文章推荐
WHOIS类的修改版
Oct 09 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
PHP读取XML值的代码(推荐)
Jan 01 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
QQ登录 PHP OAuth示例代码
Jul 20 PHP
关于尾递归的使用详解
May 02 PHP
解析php常用image图像函数集
Jun 24 PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP常用字符串函数小结(推荐)
Aug 05 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 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动态生成VRML网页
2006/10/09 PHP
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
整理一些JavaScript的IE和火狐的兼容性注意事项
2011/03/17 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
js比较日期大小的方法
2015/05/12 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
node 文件上传接口的转发的实现
2019/09/23 Javascript
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
Python字符转换
2008/09/06 Python
Python中关键字is与==的区别简述
2014/07/31 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
python实现机器人行走效果
2018/01/29 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
python next()和iter()函数原理解析
2020/02/07 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Pytorch中.new()的作用详解
2020/02/18 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
PyQt 如何创建自定义QWidget
2021/03/24 Python
2014企业年终工作总结
2014/12/23 职场文书
2015年老干部工作总结
2015/04/23 职场文书
Python超详细分步解析随机漫步
2022/03/17 Python