$HTTP_RAW_POST_DATA
这是手册里写的
总是产生变量包含有原始的 POST
数据。否则,此变量仅在碰到未识别 MIME 类型的数据时产生。不过,访问原始 POST 数据的更好方法是
php://input。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data"
表单数据不可用。
问题: $HTTP_RAW_POST_DATA == $_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).
也
就是说,基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和
$_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用
$GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型
用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"。
应用
------------------
<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"); ?>
随机推荐
- 流形学习(manifold learning)的一些综述
流形学习(manifold learning)的一些综述 讨论与进展 issue 26 https://github.com/memect/hao/issues/26 Introduction htt ...
- call和apply还有bind
有图有真相 function myfun1(){ //这是私有属性 var private1 = "这是私有属性1"; var privateMethod = function() ...
- Fail2ban用来作DDOS防守工具,不知够不够份量
http://www.serversyntax.com/2012/12/how-to-secure-centos-server-ssh-fail2ban-ddos-deflate.html http: ...
- Keil 的调试命令、在线汇编与断点设置
上一讲中我们学习了如何建立工程.汇编.连接工程,并获得目标代码,但是做到这一 步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能 发现并解决,事实上,除了极简单的程序以外 ...
- Oracle 直接路径读
在11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这样的全表扫描就是物理读了. 在10g中,都是通过gc buffer来读的,所以不存在direct pa ...
- INDEX FAST FULL SCAN和INDEX FULL SCAN
INDEX FULL SCAN 索引全扫描.单块读 .它扫描的结果是有序的,因为索引是有序的.它通常发生在 下面几种情况(注意:即使SQL满足以下情况 不一定会走索引全扫描) 1. SQL语句有ord ...
- Linux os
进程就是处于执行期的程序(目标代码存放在某种存储介质上,如内存).进程不只局限于可执行代码,还包括其他资源:打开的文件,挂起的信号,内核数据结构,内存地址空间以及至少一个执行线程. 进程是出于执行期的 ...
- 关于android屏幕适配
好吧 我承认被美工虐的够呛,而且美工他么是个男的!一点也不美, 废话不多说 急着赶路, 之前不怎么重视 直到遇见这个美工给我一套1080x1920的 图,没错 就一套 1dp=3px没错的啊 问题是就 ...
- Unity Fresnel Hero(Dota2) Shader
Shader "HeroShader" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _Rim ...
- leetcode distinct-subsequences(DP)
参考https://oj.leetcode.com/problems/distinct-subsequences 动态规划方程 dp[i][j]=dp[i-1][j-1]+dp[i-1][j] (s( ...