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 array_search() 函数使用
Apr 13 PHP
php生成缩略图示例代码分享(使用gd库实现)
Jan 20 PHP
php获取参数的几种方法总结
Feb 18 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
php上传中文文件名乱码问题处理方案
Feb 03 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
Laravel框架控制器的request与response用法示例
Sep 30 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 PHP
Laravel 5.5 异常处理 & 错误日志的解决
Oct 17 PHP
php libevent 功能与使用方法详解
Mar 04 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的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
php共享内存段示例分享
2014/01/20 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
PHP时间函数使用详解
2019/03/21 PHP
一页面多XMLHttpRequest对象
2007/01/22 Javascript
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jQuery 表格插件整理
2010/04/27 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
Python中多线程thread与threading的实现方法
2014/08/18 Python
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
亲子拓展活动方案
2014/02/20 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
学校推普周活动总结
2015/05/07 职场文书
党员证明信
2015/06/19 职场文书
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript