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木马攻击防御之道
Mar 24 PHP
PHP实现多条件查询实例代码
Jul 17 PHP
php 团购折扣计算公式
Nov 24 PHP
php文件上传的简单实例
Oct 19 PHP
php异常处理使用示例
Feb 25 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
Jul 25 PHP
php关联数组快速排序的方法
Apr 17 PHP
合格的PHP程序员必备技能
Nov 13 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
Redis构建分布式锁
Mar 28 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
BBS(php & mysql)完整版(一)
2006/10/09 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
Android分包MultiDex策略详解
2017/10/30 Python
python定向爬取淘宝商品价格
2018/02/27 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
python中元组的用法整理
2020/06/15 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
标记环介质访问控制协议
2016/03/27 面试题
入股协议书
2014/04/14 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
2014年少先队工作总结
2014/12/03 职场文书
实践论读书笔记
2015/06/29 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python