用PHP获取PATCH请求数据

时间:2013-12-13 17:37:56

标签: php rest

我需要向PHP应用程序发出PATCH请求。

如何从该应用程序中的PATCH请求中获取数据?

如果我必须使用POST,只需访问全局$_POST变量即可。

5 个答案:

答案 0 :(得分:22)

我知道这已经解决了,但对于那些希望得到像

这样的答案的人来说
$_PATCH["name"];

有办法做到这一点:

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

然后您可以像$_GET["something"]$_POST["something"]一样访问

$_PATCH["something"]

希望能帮助某人:)

答案 1 :(得分:21)

您可以使用php://input流包装器获取数据:

$data = file_get_contents('php://input');

还要确保您的Web服务器支持PATCH请求,其中一些配置为仅响应GET和POST。

答案 2 :(得分:0)

由于以上所有内容均未在PHP 5.6中为我工作,因此这实际上是一个解决方案。

我由this parse_raw_http_request($data) function使用了Christof

这是代码:

"@react-navigation/bottom-tabs": "^5.9.2",
"@react-navigation/native": "^5.7.6",
"@react-navigation/stack": "^5.9.3",
"react": "16.13.1",
"react-native": "0.63.3",

答案 3 :(得分:0)

我正在使用:PHP 7.4

function patchMethod(){
      parse_str(file_get_contents('php://input'), $_PATCH);
              $body=[];
                if (is_array($_PATCH)) {
                   foreach ($_PATCH as $key => $value) {
                    $body[$key] = $value;
                }  
                   
                }
            return $body;    
               
}

答案 4 :(得分:-3)

您拥有$_REQUEST超全局,其中包含我们可以获得的所有数据,无论使用何种HTTP方法(GETPOSTPATCHPUT