Chinaunix首页 | 论坛 | 博客
  • 博客访问: 326098
  • 博文数量: 97
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 811
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-25 19:22
文章分类

全部博文(97)

文章存档

2021年(1)

2020年(18)

2019年(14)

2018年(29)

2017年(16)

2016年(19)

我的朋友

分类: PHP

2020-11-06 15:17:29

$_POST、file_get_contents ("php://input") 的区别

一. $_POST
当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时, 会将变量以关联数组形式传入当前脚本.

二. file_get_contents ("php://input")

php:// - 访问各个输入/输出流(I/O streams)
php://input 是个可以访问请求的原始数据的只读流. POST 请求的情况下, 最好使用 php://input 来代替 $HTTP_RAW_POST_DATA, 因为它不依赖于特定的 php.ini 指令. 而且, 这样的情况下 $HTTP_RAW_POST_DATA 默认没有填充,  比激活 always_populate_raw_post_data 潜在需要更少的内存. enctype="multipart/form-data" 的时候 php://input 是无效的.

总结:

1、如果是 application/x-www-form-urlencoded 和 multipart/form-data 格式 用 $_POST;
2、如果是 text/xml, application/json, application/octet-stream, 使用 file_get_contents ('php://input')
阅读(725) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~