我在
PHP中混乱REST,我明白我可以捕获请求方法vi a $_SERVER [‘REQUEST_METHOD’].但是如何在不使用cURL的情况下在PHP中触发PUT / DELETE请求?
我想使用默认PHP安装的功能来做到这一点.
我无法想象更改表单标签的方法属性以指定除GET或POST之外的方法可以在所有浏览器上运行…加上HTML标准不能识别它.
我想使用默认PHP安装的功能来做到这一点.
我无法想象更改表单标签的方法属性以指定除GET或POST之外的方法可以在所有浏览器上运行…加上HTML标准不能识别它.
我在PHP 5.2.6,顺便说一句.
谢谢.
解决方法
通常这是通过隐藏的表单字段完成的,并在应用程序中处理(而不是网络服务器).
<input type="hidden" name="_method" value="put" />
所以在这种情况下,您可以使用一组简单的if-else语句来确定_method变量是否被覆盖(当然是有效的).我会用这样的东西:
$method = 'get'; if($_SERVER['REQUEST_METHOD'] == 'POST') { if(isset($_POST['_method'] && ($_POST['_method'] == 'PUT' || $_POST['_method'] == 'DELETE')) { $method = strtolower($_POST['_method']); } else { $method = 'post'; } }
这将是确定应用程序或框架的请求类型的简单方法.