php - 在 PHP 中处理 PUT/DELETE 参数

标签 php rest codeigniter curl http-headers

我正在处理我的 REST client library for CodeIgniter我正在努力研究如何在 PHP 中发送 PUT 和 DELETE 参数。

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

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

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

如果是,我该如何设置DELETE参数?

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

我正在尝试使用以下代码读取 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 = TRUE 使用 CURLOPT_CUSTOMREQUEST = 'PUT'CURLOPT_CUSTOMREQUEST = 'DELETE' 然后只需使用 CURLOPT_POSTFIELDS 设置值。

关于php - 在 PHP 中处理 PUT/DELETE 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2081894/

相关文章:

PHP 在子文件夹中使用 spl_autoload_register 自动加载

php - Magento 覆盖核心模型

Python Post 调用抛出 400 Bad Request

java - Spring Boot 中的每个@RequestBody 都需要一个单独的对象吗

java - Android:Restful WS 的结果未显示在我的 ListView 上

php - 函数第一次运行时在 mysql 中更新了错误的数据

php - 有没有一种聪明的方法可以在用分号分隔的 mysql 中运行多个查询?

php - 如何转义 REGEXP 子句中的括号

mysql - 如何在codeigniter中导出完整的数据库名称

php - 将链接文本更改为图标链接