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 相关文章推荐
PHP4实际应用经验篇(2)
Oct 09 PHP
第七节--类的静态成员
Nov 16 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
javascript 小型动画组件与实现代码
Jun 02 PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 PHP
测试php函数的方法
Nov 13 PHP
php操作(删除,提取,增加)zip文件方法详解
Mar 12 PHP
PHP中的use关键字及文件的加载详解
Nov 28 PHP
浅谈PHP表单提交(POST&GET&URL编/解码)
Apr 03 PHP
php实现网页端验证码功能
Jul 11 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
PHP abstract 抽象类定义与用法示例
May 29 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
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
python正则实现提取电话功能
2018/02/24 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
三方股份合作协议书
2014/10/13 职场文书
员工辞职信怎么写
2015/02/27 职场文书
centos7安装mysql5.7经验记录
2022/05/02 Servers