php 获取put 提交参数,PHP中Restful PUT方法的参数提交及接收详解

我们开发PHP的Restful接口都会知道有PUT方法更新资源,那到底如何使用PUT这个HTTP方法更新资源,本文主要和大家分享PHP中Restful PUT方法的参数提交及接收详解,希望能帮助到大家。

发送PUT请求

有时候我们发现接收PUT方法发来的的参数不是我们想要的类型,想要一个参数数组,却被接收成一串字符串,这种问题其实是我们把Content-Type的类型搞错了,我们发送的是application/json或者application/x-www-form-urlencoded对应的数据,但Content-Type却是multipart/form-data,这样接收的数据就变成了form-data的样子:

----------------------------217287928126218120101488Content-Disposition: form-data; name="status"

1

----------------------------217287928126218120101488--

并且Restful的数据基本都是json格式传输,所以发送的HTTP头应该是Content-Type=application/json。

使用POST MAN:

b17085f8c188d204639c450042279a86.png

e585f7bbeb0353c629d1a23a8d3abf49.png

接收PUT请求参数

PUT方法接受参数使用:

parse_str(file_get_contents('php://input'), $data);

参数保存在$data里。

如果使用tp5框架可以使用助手函数实现:

input('put.status');input('put.');

ps:这里的form-data误区应该是由PHP的POST和PUT方法内部解析multipart/form-data的数据方式不同导致的,POST方法把参数解析到$_POST并把content内容置空,而PUT却没有这步操作,所以要注意使用上的区别。

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值