我正在尝试将PUT请求参数转换为服务器中的key =>值数组。
parse_str(file_get_contents('php://input'), $data);
这样我得到一个像这样的“污垢”数组:
Array
(
[------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition:_form-data;_name] => "birth_date"
1995-01-03
------WebKitFormBoundaryXXXXXXXX
Content-Disposition: form-data; name="age"
15
------WebKitFormBoundaryXXXXXXXX--
)
如何在不手动解析内容的情况下推断出两个key =>值??
答案 0 :(得分:0)
请求的主体参数是用multipart/form-data
而不是application/x-www-form-urlencoded
编码的。
x-www-form-urlencoded 版本如下所示:
birth_date=1995-01-03&age=15
解析 multipart / form-data 有点高级。据我所知,PHP中没有内置函数可以做到这一点。 但是您可以使用第三方库:https://github.com/h4cc/multipart
如果您能够以某种方式更改请求的编码方式,则将编码更改为 x-www-form-urlencoded 会容易得多,并且出错的可能性也较小。