广告
每天积累一点点,进步一点点-方脸猫博客

在PHP中post接收数据的三种方式

原创:内容为作者原创,可能存在参考别人观点
正文
        我们在Web开发中,当用户使用浏览器向服务器POST提交数据时,我们使用php接受用户POST到服务器的数据,并对数据进行解析和相应的处理.以下是php接受POST数据的几种方式:

一.$_POST 方式接受数据
  
        使用$_POST 方式是通过HTTP的POST方法传递过来的数据组成的数组,是一个自动全局变量.
注: 只能接收Content-Type:application/x-www-form-urlencode提交的数据.也就是只能接收表单POST过来的数据.

二.GLOBLES[‘HTTP_RAW_POST_DATA’]


        如果访问原始POST数据不是php能够识别的文档类型,比如:text/xml 或者soap等等,我们可以用$GLOBLES[‘HTTP_RAW_POST_DATA’]来接收,$HTTP_RAW_POST_DATA变量包含有原始POST数据.此变量仅在碰到未识别的MIME数据时

产生.
注:  1. $HTTP_RAW_POST_DATA对于enctype=”multipart/form-data”表单数据不可用,也就是说使用$HTTP_RAW_POST_DATA无法接受网页表单post过来的数据.

      2. 使用此方法,需要设置php.ini中的always_populate_raw_post_data值为On。

      3. 使用$HTTP_RAW_POST_DATA,包含了POST的原始数据。但这不是一个超全局变量,要在函数中使用它,必须声明为global,或使用$GLOBALS['HTTP_RAW_POST_DATA']代替。


三. file_get_content(“php://input”);
  
        如果访问原始POST数据, 更好的方法是使用file_get_content(“php://input”); 对于未指定Content-Type的POST数据,
可以使用该方法读取POST原始数据,包括二进制流也可以.和$HTTP_RAW_POST_DATA比起来.它带来的生存眼里更小,
并且不需要任何特殊的php.ini设置.
注: php://input不能用于 enctype=”multipart/form-data”.

例如:
$postStr = file_get_contents("php://input"); //获取POST数据


需要注意的是,要使用第二第三两种方法时,Content-Type不能为multipart/form-data。


四.名词解释
  1. MIME数据类型:

        多用途互联网邮件扩展(MIME, Multipurpose Internet Mail Extension)是一个互联网标准,它扩展了电子邮箱标准,
使其能够支持ASCII字符, 二进制格式附件等多种格式的邮件消息.MIME规定了用于表示各种各样的数据类型的符号化方法.
此外,在万维网中使用的HTTP协议中也使用MIME的框架.

  2. 原始数据:原始数据是指尚未处理的数据,

        这些数据需要经过萃取,组织甚至分析与格式化后才能呈现给他人看.


另外:如果前端请求头存在特殊内容,后端需要允许才可以正确请求,如x-token

// x-token为前端请求特殊的token字段
// php可以使用下列语句允许
header("Access-Control-Allow-Headers: x-token,Origin, X-Requested-With, Content-Type, Accept");


希望能给你带来一些帮助。内容整理自网络


评论(总计0条)(低分辨率暂不支持评论)
暂无评论
推荐(随机推荐5条文章)

运用js打开关闭新窗口以及通过ID获取元素

运用js打开关闭新窗口以及通过ID获取元素

发布时间:2018-11-01阅读量:89

js:confirm对话框和prompt消息对话框

js:confirm对话框和prompt消息对话框

发布时间:2018-11-01阅读量:88

京东金融散财童子,20天瓜分1个亿!

京东金融,散财童子,领红包,20天一个亿

发布时间:2018-11-05阅读量:160

一场超凶的冷空气来了!大半个中国气温将刷新低,河南局地降温10℃……

一场超凶的冷空气来了!大半个中国气温将刷新低,河南局地降温10℃……

发布时间:2018-11-05阅读量:156

webpack+vue初始化项目

使用webpack+vue初始化一个项目,基本的步骤

发布时间:2018-11-07阅读量:113

分类 方脸猫博客
广告招租 方脸猫博客
信息交流 方脸猫博客
snow
qq群 站长交流群 群号:272541864
qq号 站长QQ QQ:3189859329
webLogo