我正在为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。
CURLOPT_PUT = TRUE
CURLOPT_CUSTOMREQUEST = 'PUT'
CURLOPT_CUSTOMREQUEST = 'DELETE'
CURLOPT_POSTFIELDS