php获取post参数的几种方式,ajax提交数据的几种类型,PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。

1、$_POST['paramName'] 只有在Content-Type为application/x-www-form-urlencoded或者为multipart/form-data的 时候,PHP才会将http请求数据包中的body相应部分数据填入$_POST全局变量中,其它情况PHP都忽略。填入到$_POST数组中的数据是进行urldecode()解析的结果。

2、file_get_contents(“php://input”) 适用大多数类型的Content-type

php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype=”multipart/form-data”。

3、$GLOBALS['HTTP_RAW_POST_DATA']; 总是产生 $HTTP_RAW_POST_DATA  变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA  对于 enctype=”multipart/form-data”  表单数据不可用。

如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。需要设置php.ini中的always_populate_raw_post_data值为On,PHP才会总把POST数据填入变 量$http_raw_post_data。

看官方文档,在高版本里,这个变量$HTTP_RAW_POST_DATA被弃用了

This feature wasDEPRECATEDin PHP 5.6.0, andREMOVEDas of PHP 7.0.0. In general,php://inputshould be used instead of$HTTP_RAW_POST_DATA.

总结:

1,Coentent-Type仅在取值为application/x-www-data-urlencoded和multipart/form- data两种情况下,PHP才会将http请求数据包中相应的数据填入全局变量$_POST

2,PHP不能识别的Content-Type类型的时候,会将http请求包中相应的数据填入变量$HTTP_RAW_POST_DATA

3, 只有Coentent-Type不为multipart/form-data的时候,PHP才会将http请求数据包中的相应数据填入php: //input,否则其它情况都会。填入的长度,由Coentent-Length指定。

4,只有Content-Type为application/x-www-data-urlencoded时,php://input数据才 跟$_POST数据相一致。

5,php://input数据总是跟$HTTP_RAW_POST_DATA相同,都只读取Content-Type不为multipart/form-data的数据,但是php://input 比$HTTP_RAW_POST_DATA更凑效,且不需要特殊设置php.ini

6,PHP会将PATH字段的query_path部分,填入全局变量$_GET。通常情况下,GET方法提交的http请求,body为空。

7,php://input读取不到$_GET数据。是因为$_GET数据作为query_path写在http请求头部(header)的PATH字 段,而不是写在http请求的body部分。

8、如果是 application/x-www-form-urlencoded 和 multipart/form-data 格式 用 $_POST;

9、如果不能获取的时候,比如 text/xml、application/json、soap,使用 file_get_contents(‘php://input’);

织梦 php 传值,php获取post参数的几种方式相关推荐

  1. springboot 获取控制器参数的几种方式

    这里介绍springboot 获取控制器参数有四种方式 1.无注解下获取参数 2.使用@RequestParam获取参数 3.传递数组 4.通过URL传递参数 无注解下获取参数 无注解下获取参数,需要 ...

  2. php解析url并得到url中的参数及获取url参数的四种方式

    本文给大家介绍php解析url并得到url中的参数及获取url参数的四种方式,涉及到将字符串参数变为数组,将参数变为字符串的相关知识,本文代码简单易懂,感兴趣的朋友一起看看吧 下面一段代码是php解析 ...

  3. struts2获取请求参数的三种方式及传递给JSP参数的方式

    接上一篇文章 package test;import com.opensymphony.xwork2.ActionSupport; import javax.servlet.http.*; impor ...

  4. Express全系列教程之(四):获取Post参数的两种方式

    一.关于POST请求 post方法作为http请求很重要的一部分,几乎所有的网站都有用到它,与get不同,post请求更像是在服务器上做修改操作,它一般用于数据资源的更新. 相比于get请求,post ...

  5. php获取url传递的参数,php解析url并得到url中的参数及获取url参数的四种方式

    下面一段代码是php解析url并得到url中的参数,代码如下所示:<?php $url = "http://www.baidu.com/index.php?m=content& ...

  6. Spring获取前台参数的几种方式

    1 . 自动注入 /* 自动注入 , 直接写在controller方法的形参中 , 前后端名称需保持一致 */@RequestMapping("/test1")public Str ...

  7. yy神曲url解析php_php解析url并得到url中的参数及获取url参数的四种方式

    下面一段代码是php解析url并得到url中的参数,代码如下所示: $url = 'http://www.baidu.com/index.php?m=content&c=index&a ...

  8. getpostdata php7.0_php获取post参数的几种方式

    PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型. 1.$_POST['paramName'] 只有在Content-Type为applica ...

  9. php 获取内容页图片,织梦DEDECMS内容页获取图片URL地址的方法

    织梦DEDECMS内容页获取图片URL地址的方法 {dede:sql sql="select * from dede_uploads where arcid = ~id~"} [f ...

最新文章

  1. Unity创造没有代码的游戏学习教程
  2. Linux 批量kill死进程
  3. 让数据库变快的10个建议
  4. linux pmap命令,Linux pmap 命令用法详解-Linux命令大全(手册)
  5. 如何在注册表里计算机用户名,可以通过注册表修改电脑的密码 ?怎么做的?
  6. Pandas数据帧(DataFrame)
  7. 验证方式二 html标签验证码,Django标签、转义及验证码生成
  8. linux多环境变量使用字典,字典的用处非常大,昨天在网上找了个能在linux跑的字典程序,分享一下。...
  9. 如何基于web技术开发国产化网管软件
  10. 江西省九江市瑞昌市高考成绩查询2021,2021江西省地区高考成绩排名查询,江西省高考各高中成绩喜报榜单...
  11. 北京海淀区千峰计算机学校,千锋Java学院-Java培训|Java开发培训|Java工程师培训开拓者...
  12. 和平精英为什么进不去显示无法连接服务器,和平精英为什么进不去 进不去解决方法[多图]...
  13. 华为鸿蒙替换,替换安卓!华为鸿蒙OS旗舰来了
  14. Python学习记录day6-反射、常用模块
  15. DIV display visibility
  16. 推荐系统引擎——模型(1)
  17. A Survey of the Four Pillars for Small Object Detection: Multiscale Representation, Contextual Infor
  18. 计算机各类语言的区别
  19. Sea.js入门教程
  20. 黄梯云主编管理信息系统课后答案1-6

热门文章

  1. matlab 滤波器设计 coe_一种半带滤波器的低功耗实现方法
  2. SpringMvc+Tomcat+Angular4 部署运行
  3. Jquery mobile 解决IOS9selectli闪退问题
  4. php处理上传文件的步骤,php文件上传步骤
  5. 引入静态变量_Common Lisp变量的一些事情
  6. 罗马音平假名片假名转换器_关于五十音你所要知道的一切!文末附日网高清字帖...
  7. [转载] jstl获取Parameter参数及switch使用
  8. aes-128算法加密_加密算法问题-人工智能中的一种约束满意问题
  9. c语言 nan 常量_NaN32常量(Julia)
  10. Java即时类| plus()方法与示例