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 相关文章推荐
模拟flock实现文件锁定
Feb 14 PHP
php 中的str_replace 函数总结
Apr 27 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
Jun 11 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
php使用array_search函数实现数组查找的方法
Jun 12 PHP
php htmlentities()函数的定义和用法
May 13 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
Nov 09 PHP
PHP带节点操作的无限分类实现方法详解
Nov 09 PHP
php防止sql注入的方法详解
Feb 20 PHP
基于ThinkPHP实现的日历功能实例详解
Apr 15 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
在 Laravel 6 中缓存数据库查询结果的方法
Dec 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
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
python使用requests.session模拟登录
2019/08/09 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
Python是怎样处理json模块的
2020/07/16 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
电气工程和自动化自荐信范文
2013/12/25 职场文书
考核工作实施方案
2014/03/30 职场文书
大专生求职信
2014/06/29 职场文书
大学生创业计划书
2014/08/14 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android