Php 解码x-www-form-urlencoded到数组
我正在尝试将PUT请求参数转换为服务器中的key=>value数组Php 解码x-www-form-urlencoded到数组,php,arrays,rest,parsing,put,Php,Arrays,Rest,Parsing,Put,我正在尝试将PUT请求参数转换为服务器中的key=>value数组 parse_str(file_get_contents('php://input'), $data); 这样我就得到了一个“污垢”数组,如下所示: Array ( [------WebKitFormBoundaryXXXXXXXXXXXXXXXX Content-Disposition:_form-data;_name] => "birth_date" 1995-01-03 ------WebKitFormBo
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--
)
birth_date=1995-01-03&age=15
如何在不手动解析内容的情况下仅推断两个key=>值…?请求的正文参数是在
多部分/表单数据中编码的,而不是应用程序/x-www-form-urlencoded
x-www-form-urlencoded版本如下所示:
Array
(
[------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition:_form-data;_name] => "birth_date"
1995-01-03
------WebKitFormBoundaryXXXXXXXX
Content-Disposition: form-data; name="age"
15
------WebKitFormBoundaryXXXXXXXX--
)
birth_date=1995-01-03&age=15
解析多部分/表单数据稍微高级一点。据我所知,PHP中没有内置函数来实现这一点。
但您可以使用以下第三方库:
如果您能够选择请求的编码方式,那么将编码更改为x-www-form-urlencoded将更容易,也不容易出错。请求的正文参数是在多部分/表单数据中编码的,而不是应用程序/x-www-form-urlencoded
x-www-form-urlencoded版本如下所示:
Array
(
[------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition:_form-data;_name] => "birth_date"
1995-01-03
------WebKitFormBoundaryXXXXXXXX
Content-Disposition: form-data; name="age"
15
------WebKitFormBoundaryXXXXXXXX--
)
birth_date=1995-01-03&age=15
解析多部分/表单数据稍微高级一点。据我所知,PHP中没有内置函数来实现这一点。
但您可以使用以下第三方库:
如果您能够选择请求的编码方式,那么将编码更改为x-www-form-urlencoded将更加容易,也不容易出错。PUT请求的构造肯定不正确PUT请求的构造肯定不正确