如何在RESTful API中处理PUT请求?

时间:2015-02-09 11:02:29

标签: php request put http-method

我想在我的网络服务中使用PUT请求进行更新操作,但我不知道如何处理PUT,因为没有内置变量,如$_PUT

我试过parse_str(file_get_contents("php://input"),$post_vars); 现在,如果我print_r $post_vars,则会显示

------WebKitFormBoundaryJnBh3L2DKmMjdVmG Content-Disposition: form-data; name="fruit" vanana ------WebKitFormBoundaryJnBh3L2DKmMjdVmG Content-Disposition: form-data; name="items" 1 ------WebKitFormBoundaryJnBh3L2DKmMjdVmG--

如何获取PUT请求时传递的确切参数?

2 个答案:

答案 0 :(得分:0)

有一个超级全局$_SERVER,其中包含 REQUEST_METHOD

它可用于识别用于访问页面的请求方法;即' GET',' HEAD',' POST',' PUT'。

因此,您可以在服务器上使用它来识别放置请求。

答案 1 :(得分:0)

您的问题

您的PUT请求具有multipart/form-data内容类型。 因此parse_str函数无法对其进行解析。

解决方案

您必须使用Content-Type=application/x-www-form-urlencoded发出PUT请求。然后,您可以使用parse_str(file_get_contents("php://input"), $post_vars);

进行解析

注释

您将无法上传文件。因为文件要求使用multipart/form-data