POST的原始数据获得方法

jackxiang 2013-6-11 19:44 | |

前段时间的一个插件要保存flash POST 过来的图形数据。开始时候认为这个数据在 $_POST 数组里,其实并不是。忙活半天才明白在 $GLOBALS['HTTP_RAW_POST_DATA'] 里。因此备忘下。
在网上找了一下两者的区别:

$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。

且如果 $GLOBALS['HTTP_RAW_POST_DATA'] 挂掉时,可通过 file_get_contents('php://input');获取

test.html


<form action="post.php" method="post"><input type="text" name="user" />
<input type="password" name="password" />
<input type="submit" value="提交查询内容" /> </form>&nbsp;

post.php

<?php   <br ?>echo file_get_contents("php://input"); //echo一下即可 hoho~
?&gt;

来自:http://www.fengblog.org/archives/199/

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/6442/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]