一尘不染

在PHP中处理PUT / DELETE参数

php

我正在为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;

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

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


阅读 418

收藏
2020-05-29

共1个答案

一尘不染

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

2020-05-29