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 相关文章推荐
编译问题
Oct 09 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
解析yii数据库的增删查改
Jun 20 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
教你在PHPStorm中配置Xdebug
Jul 27 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
php面向对象值单例模式
May 03 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 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&amp;java(一)
2006/10/09 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
php HandlerSocket的使用
2011/05/02 PHP
ThinkPHP实现的rsa非对称加密类示例
2018/05/29 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
javascript数组去重小结
2016/03/07 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
[02:51]DOTA2英雄基础教程 风暴之灵
2013/12/23 DOTA
python笔记(2)
2012/10/24 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
python实现数据写入excel表格
2018/03/25 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
学籍证明模板
2014/11/21 职场文书
放假通知范文
2015/04/14 职场文书
运动会新闻报道稿
2015/07/22 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
创业计划书之酒厂
2019/10/14 职场文书
MSSQL基本语法操作
2022/04/11 SQL Server