如何在CodeIgniter中检测HTTP方法

35

我该如何在CodeIgniter控制器类中检测HTTP方法?

编辑: 除了在CodeIgniter中使用$_SERVER ['REQUEST_METHOD']之外,还有其他方法吗?


1
可能是[PHP检测请求类型(GET,POST,PUT或DELETE)]的重复问题(https://dev59.com/n3RC5IYBdhLWcg3wROpQ)。 - Esailija
我知道,但在CodeIgniter中使用$_SERVER变量是真的吗? - Sgn.
就像使用其他变量一样。 - Esailija
3个回答

64

感谢Branden,我找到了答案。$this->input->server($index)$_SERVER[$index]是完全相同的。

要获取请求方法,您可以使用:$this->input->server('REQUEST_METHOD')

更新:(感谢Ecir Hana

从CodeIgniter 3开始,也可以使用method来获取请求方法:

echo $this->input->method(TRUE); // Outputs: POST
echo $this->input->method(FALSE); // Outputs: post
echo $this->input->method(); // Outputs: post

19

在 CodeIgniter 3 中,您可以使用 Input 类的 method 方法。

根据文档:

echo $this->input->method(TRUE); // Outputs: POST
echo $this->input->method(FALSE); // Outputs: post
echo $this->input->method(); // Outputs: post

5

7
从文档中看到 $this->input->post(); // 返回所有未经 XSS 过滤的 POST 项目,因此这并没有真正回答问题,因为它获取数据而不是检测 HTTP 方法。 - Thomas Welton
4
如果(例如帖子)请求不包含任何数据,则无法工作。 - Korri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接