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分页函数
Oct 09 PHP
PHP的分页功能
Mar 21 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
Dec 18 PHP
PHP源代码数组统计count分析
Aug 02 PHP
PHP实现上一篇下一篇的方法实例总结
Sep 22 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
如何用PHP做到页面注册审核
Mar 02 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
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中error_log()函数的使用方法
2015/01/20 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
JS批量操作CSS属性详细解析
2013/12/16 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
详解javascript高级定时器
2015/12/31 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Python简易版停车管理系统
2019/08/12 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
Python网页解析器使用实例详解
2020/05/30 Python
python爬取youtube视频的示例代码
2021/03/03 Python
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
一体化教学实施方案
2014/05/10 职场文书
无毒社区工作方案
2014/05/23 职场文书
爱国主义电影观后感
2015/06/18 职场文书
学校运动会感想
2015/08/10 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
python中if和elif的区别介绍
2021/11/07 Python
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers