$_POST、php://input、$GLOBALS["HTTP_RAW_POST_DATA"]的区别

$_POST接受不到页面传值,此时可以用php://input来接收.

$http_raw_post_data是PHP内置的一个全局变量.它用于PHP在无法识别Content-Type的情况下
将POST传递过来的数据原样地填入$http_raw_post_data.
它同样无法接收Content-Type为multipart/form-data的POST数据
需要设置php.ini中的always_populate_raw_post_data值为On
PHP才会总把POST数据填入变量$http_raw_post_data
然后$_POST以关联数组的方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换

php://input 通过输入流文件读取方式取得未经处理的POST原始数据
php://input 允许读取POST的原始数据.
相比于$HTTP_RAW_POST_DATA,php://input给内存带来的压力较小,且不需要任何php.ini设置
php://input不适用于enctype=”multipart/form-data”
php://input读取不到任何$_GET数据.因为$_GET数据作为query_path写在http请求头部(header)在PATH字段,而不是写在请求的body部分.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值