在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数据时产生.
注: $HTTP_RAW_POST_DATA对于enctype=”multipart/form-data”表单数据不可用,也就是说使用$HTTP_RAW_POST_DATA无法接受网页表单post过来的数据.
三. file_get_contents(“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数据
四.名词解释
1.MIME数据类型:多用途互联网邮件扩展(MIME, Multipurpose Internet Mail Extension)是一个互联网标准,它扩展了电子邮箱标准, 使其能够支持ASCII字符, 二进制格式附件等多种格式的邮件消息.MIME规定了用于表示各种各样的数据类型的符号化方法.此外,在万维网中使用的HTTP协议中也使用MIME的框架.
2.原始数据:原始数据是指尚未处理的数据, 这些数据需要经过萃取,组织甚至分析与格式化后才能呈现给他人看.
---------------------
原文:https://blog.csdn/qq_38253837/article/details/78583737
更多推荐
浅谈php接收POST数据的三种方式
发布评论