php 获取HTTP POST中不同格式的数据

  • 时间:
  • 浏览:1
  • 来源:大发快三代理—大发大发彩票app

application/x-www-form-urlencoded,这是最常见的,也不 from表单的格式.在HTTP的head中是Content-Type: application/x-www-form-urlencoded.

在实际开发中,一般一定会 使用框架的,我用thinkphp用比较多,在tp5.0中可需要使用Request的getInput()函数获取Raw中的数据

Raw 两种一定会 很糙常用,传输的数据在HTTP的body中必须一段,一定会 以键值对的形式存放.在HTTP的head中是Content-Type: application/json,Content-Type: text,Content-Type: application/xml,Content-Type: text/xml,等等形式

对于Raw两种格式的数据,使用以上两种最好的方式没办法 最好的方式获取到,需要使用别的手段.

1.使用file_get_contents("php://input")获取;写另俩个 简单php文件测试一下

关于php获取HTTP POST数据的最好的方式先介绍到这里

用postman测试一下



没间题图片,可需要接收到

用postman测试一下



卧槽,竟然出错了,提示没办法 发现HTTP_RAW_POST_DATA两种数组索引,哪些鬼.Google一番,在php的官网想看 了另另俩个 得话



另另俩个 HTTP_RAW_POST_DATA两种在php5.6中由于被废弃了,在php7.0后来 的版本中由于被删除了,我用的php版本为7.2,肯定就出错了

测试一下



没办法 间题图片,可需要正常获取

multipart/form-data,两种是用来上传文件的,在HTTP的head中是Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

2.使用$GLOBALS['HTTP_RAW_POST_DATA']接收

对于Content-Type: application/x-www-form-urlencoded两种form表单的数据,在php中,使用$_POST['name']可需要直接获取, 没哪些很糙的

HTTP协议中的POST 最好的方式有多中格式的数据协议,在HTTP的head中用不同的Content-type标识.常用的有

好吧,那就老老实实的用file_get_contents("php://input")获取吧

Content-Type: multipart/form-data; 两种格式的数据,在php中使用$_POST['name']可需要获取字符数据,使用$_FILES['file']可需要获取.