当前位置: 首页 > 面试题库 >

在PHP中处理PUT / DELETE参数

谭高峯
2023-03-14
问题内容

我正在为CodeIgniter开发我的REST客户端库,并且正在努力研究如何在PHP中发送PUT和DELETE参数。

在一些地方,我看到人们在使用这些选项:

$this->option(CURLOPT_PUT, TRUE);
$this->option(CURLOPT_POSTFIELDS, $params);

令人讨厌的是,这似乎无济于事。这是设置PUT参数的正确方法吗?

如果是这样,如何设置DELETE参数?

$ this- >
option()是我的库的一部分,它只是建立一个CURLOPT_XX常量数组,并在执行建立的cURL请求时将它们发送到curl_setopt_array()。

我正在尝试使用以下代码读取PUT和DELETE参数:

        case 'put':
            // Set up out PUT variables
            parse_str(file_get_contents('php://input'), $this->_put_args);
        break;

        case 'delete':
            // Set up out PUT variables
            parse_str(file_get_contents('php://input'), $this->_delete_args);
        break;

这里有两个选择,我以错误的方式处理此问题,或者我的库中某个地方存在错误。如果您可以让我知道这在理论上是否可行,那么我可以继续进行调试,直到解决为止。

我不想再浪费时间在根本上是错误的方法上。


问题答案:

而不是使用CURLOPT_PUT = TRUEuse CURLOPT_CUSTOMREQUEST = 'PUT'
CURLOPT_CUSTOMREQUEST = 'DELETE'然后仅使用设置值CURLOPT_POSTFIELDS



 类似资料:
  • 问题内容: 如何检测PHP中使用了哪种请求类型(GET,POST,PUT或DELETE)? 问题答案: 通过使用 例

  • 问题内容: 我想在我的新django项目中遵循RESTful模式,并且我想知道发出PUT / DELETE请求时参数在哪里。 据我所知,我只在请求中看到GET&POST QueryDict,没有其​​他人。Django是针对请求添加新的PUT还是DELETE QueryDict,还是将参数添加到GET或POST QueryDict? 问题答案: 我正在使用django v1.5。我主要使用Quer

  • 问题内容: 它应该是如此简单。我已经跟踪了所有可以找到的教程和论坛,但是无法正常工作。我只想在Apache2上用PHP构建RESTful API。 在我的VirtualHost指令中,我说: 但是我向服务器发出的每个PUT请求都得到了不支持的405方法。 有人提倡使用Script指令,但是由于我使用的是mod_php(而不是CGI),所以我不明白为什么会这样。 人们提到使用WebDAV,但在我看来

  • 问题内容: 我正在尝试在Spring MVC控制器(版本3.0.2)中使用和。在Spring控制器类中,有三种与URL映射的方法,如下所示(分别是PUT,GET和POST,仅用于演示目的)。 加载页面时,该方法将很明显地被调用,但是在所有其他情况下(提交页面时),唯一要调用POST的方法是,永远不会调用用指定的方法。 Spring表单仅包含一个提交按钮和一个图像浏览器, 生成的HTML如下, 在我

  • 问题内容: 我想知道是否可以将PUT,DELETE请求(实际上)发送java.net.HttpURLConnection到基于HTTP的URL。 我已经读了很多描述如何发送GET,POST,TRACE,OPTIONS请求的文章,但是我仍然没有找到成功执行PUT和DELETE请求的示例代码。 问题答案: 要执行HTTP PUT: 要执行HTTP删除:

  • 我刚刚意识到,当任何参数为null时,JPQL where子句都不能像我预期的那样工作。例如,这个简单的JPQL查询 当参数为null时不返回任何结果,即使数据库中存在名称设置为null的实体。 在这种情况下,Hibernate使用WHERE实体执行SQL。名称=空。显然,这不是由数据库处理的,因为对于空比较,标准定义为NULL(请参见SQL is NULL and=NULL)。JPQL还有一个