php获取post中的json数据的实现方法


Posted in PHP onJune 08, 2011

突然想到了以前接触过flash将图片二进制流传给php,灵机一动用$GLOBALS['HTTP_RAW_POST_DATA']获取到了。
于是就深入的查了一下,原来PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此,对型如text/xml 或者 soap 或者 application/octet-stream 之类的内容无法解析,如果用$_POST数组来接收就会失败!故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。

php的HTTP_RAW_POST_DATA
用Content-Type=text/xml 类型,提交一个xml文档内容给了php server,要怎么获得这个POST数据。
The RAW / uninterpreted HTTP POST information can be accessed with: $GLOBALS['HTTP_RAW_POST_DATA'] This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml).
由于PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此,对型如text/xml的内容无法解析为$_POST数组,故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。
另外还有一项 php://input 也可以实现此这个功能
php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。

应用

a.htm

<form action="post.php" method="post"> 
<input type="text" name="user"> 
<input type="password" name="password"> 
<input type="submit"> 
</form>

post.php
<? echo file_get_contents("php://input");?>
PHP 相关文章推荐
理解PHP5中static和const关键字的区别
Mar 19 PHP
php session应用实例 登录验证
Mar 16 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
php实现单链表的实例代码
Mar 22 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 PHP
PHP实现简单的新闻发布系统实例
Jul 28 PHP
PHP读取zip文件的方法示例
Nov 17 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
常用的PHP数据库操作方法(MYSQL版)
Jun 08 #PHP
apache+php完美解决301重定向的两种方法
Jun 08 #PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 #PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 #PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 #PHP
php写的简易聊天室代码
Jun 04 #PHP
php结合表单实现一些简单功能的例子
Jun 04 #PHP
You might like
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
python基础教程之面向对象的一些概念
2014/08/29 Python
详解django中使用定时任务的方法
2018/09/27 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
Python全栈之列表数据类型详解
2019/10/01 Python
Django实现文件上传下载功能
2019/10/06 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
python实现粒子群算法
2020/10/15 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
电子信息工程专业求职信
2014/06/28 职场文书
物业消防安全责任书
2014/07/23 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书