之前要保存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'); 获取
a.html
XML/HTML代码
- <form action="post.php" method="post">
- <input type="text" name="user">
- <input type="password" name="password">
- <input type="submit">
- </form>
post.php
PHP代码
- <?php
- echo file_get_contents("php://input");
- ?>