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 相关文章推荐
PHP学习之PHP变量
Oct 09 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
Yii使用find findAll查找出指定字段的实现方法
Sep 05 PHP
ThinkPHP分页实例
Oct 15 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
php文件上传类完整实例
May 14 PHP
php中__toString()方法用法示例
Dec 07 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
Ajax+Jpgraph实现的动态折线图功能示例
Feb 11 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
php 读取文件乱码问题
2010/02/20 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
如何利用python制作时间戳转换工具详解
2018/09/12 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
python 通过exifread读取照片信息
2020/12/24 Python
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
一份Java笔试题
2012/02/21 面试题
家长评语大全
2014/01/22 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
停车场管理协议书范本
2014/10/08 职场文书
三峡人家导游词
2015/01/31 职场文书
2015年清明节网上祭英烈留言寄语
2015/03/04 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
高中地理教学反思
2016/02/19 职场文书
2016年安全月活动总结
2016/04/06 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
分析Netty直接内存原理及应用
2021/06/14 Java/Android