8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

在 PHP 中获取 PATCH 请求数据

user21420442 2月前

78 0

我需要向 PHP 应用程序发出 PATCH 请求。如何才能从该应用程序内的 PATCH 请求中获取数据?如果我必须使用 POST 来执行此操作,那么只需简单访问

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

该应用程序内的 PATCH 该请求中获取数据

如果我必须用 来做这件事 POST ,那只不过是对全局变量的简单访问 $_POST

帖子版权声明 1、本帖标题:在 PHP 中获取 PATCH 请求数据
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由user21420442在本站《symfony》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 使用 $_SERVER['REQUEST_METHOD'] 来获取请求类型。

  • 流包装器 php://input 获取数据

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

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

  • 但是如何像 $_GET 或 $_POST 那样简单地使用这些数据……它返回了一些奇怪的字符串

  • maya 2月前 0 只看Ta
    引用 5

    @santosh 没那么简单。您还应该检查 Content-Type 请求标头并决定如何处理此字符串。它可以是 JSON、base64 编码文件或 urlencoded 查询字符串。

  • 我知道这个问题已经解决了,但对于那些希望得到类似答案的人来说

    $_PATCH["name"];
    

    有一种方法可以做到这一点:

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

    然后你就可以像下面这样 $_GET["something"] 访问 $_POST["something"]

    $_PATCH["something"]
    

    希望对大家有帮助:)

  • 等等,这不管用。我得到的键值类似 ------WebKitFormBoundaryDBQQ4THK5a0cbY20 Content-Disposition:_form-data;_name

  • 甚至在 PHP 7.2.34 中也无法正常工作 ----------------------------541429037887217943792898 Content-Disposition:_form-data;_name] => \'key\'

  • 我认为 parse_str() 无法解析 multipart/form-data。这就是您获得边界字符串的原因。

  • 由于上述方法在 PHP 5.6 中都不起作用,因此这里有一个实际有效的解决方案。

    我使用了 parse_raw_http_request($data) 函数 Christof .

    代码如下:

    $_PATCH = [];
    parse_str(file_get_contents('php://input'), $_PATCH);
    parse_raw_http_request($_PATCH);
    
    // From now on, the $_PATCH variable keeps all request arguments as well,
    // and they're accessible under approprate keys like $_PATCH['yourKey']
    
  • Ilia 2月前 0 只看Ta
    引用 11

    我在用着 : 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;    
                   
    }
    
返回
作者最近主题: