Php 使用DELETE form方法删除服务器上的文件
我正在尝试使用html表单中的delete方法删除服务器上的文件 我有一个文件,该文件的url为:Php 使用DELETE form方法删除服务器上的文件,php,html,Php,Html,我正在尝试使用html表单中的delete方法删除服务器上的文件 我有一个文件,该文件的url为: http://example.com/file2.php 我使用以下代码删除文件: <form action="file2.php"method="DELETE"> <input type="submit"value="delete file"> </form> 而不是删除: DELETE /file2.php HTTP/1.1 有人知道为什么delet
http://example.com/file2.php
我使用以下代码删除文件:
<form action="file2.php"method="DELETE">
<input type="submit"value="delete file">
</form>
而不是删除:
DELETE /file2.php HTTP/1.1
有人知道为什么delete方法不起作用吗?或者如何使用删除方法删除文件?大多数浏览器不支持将
删除作为
的方法参数。事实上,它甚至不是:
method和formmethod内容属性是具有以下关键字和状态的枚举属性:
- 关键字get,映射到状态get,表示HTTP get方法
- 关键字post,映射到状态post,表示HTTP post方法
这里有一些:
似乎我们目前还不明白PUT和DELETE对HTML表单有何用处
对于DELETE,创建一个有用的请求确实很容易。然而,服务器实现通常使用200和最小响应体(“已删除”)或204(无内容)进行响应。因此,如何在web应用程序中使用它还不清楚
对于PUT,似乎没有真正的用例,只要web页面不能完全控制负载,并且还可以设置内容类型
请考虑删除这个特性,直到对它有什么好处有一个更清楚的理解。
像这样的框架提供了方法欺骗:
如果不使用框架,可以尝试模仿这种行为:
if($_SERVER['REQUEST_METHOD'] === 'DELETE' || (isset($_REQUEST['_method'] && $_REQUEST['_method'] === 'delete') {
...
}
大多数浏览器不支持将删除作为
的方法参数。事实上,它甚至不是:
method和formmethod内容属性是具有以下关键字和状态的枚举属性:
- 关键字get,映射到状态get,表示HTTP get方法
- 关键字post,映射到状态post,表示HTTP post方法
这里有一些:
似乎我们目前还不明白PUT和DELETE对HTML表单有何用处
对于DELETE,创建一个有用的请求确实很容易。然而,服务器实现通常使用200和最小响应体(“已删除”)或204(无内容)进行响应。因此,如何在web应用程序中使用它还不清楚
对于PUT,似乎没有真正的用例,只要web页面不能完全控制负载,并且还可以设置内容类型
请考虑删除这个特性,直到对它有什么好处有一个更清楚的理解。
像这样的框架提供了方法欺骗:
如果不使用框架,可以尝试模仿这种行为:
if($_SERVER['REQUEST_METHOD'] === 'DELETE' || (isset($_REQUEST['_method'] && $_REQUEST['_method'] === 'delete') {
...
}
仅限MozillaGET
和POST
我有两项建议:
- 使用POST将数据发送到PHP代码并从那里处理
- 不要删除那么简单的东西。创建一个函数,它只会说它被删除,直到你真的确定它必须被删除
仅限MozillaGET
和POST
我有两项建议:
- 使用POST将数据发送到PHP代码并从那里处理
- 不要删除那么简单的东西。创建一个函数,它只会说它被删除,直到你真的确定它必须被删除
这不是一个好方法,不是所有浏览器都支持它。最好使用phpMost浏览器,因为它不会发送delete
方法。它被更改回get
。(我猜是这样的:因为delete
已经过时了,所以浏览器不再支持它了。)这不是一个好方法,不是所有的浏览器都支持它。最好使用phpMost浏览器,因为它不会发送delete
方法。它被更改回get
。(我猜是这样的:因为delete
已经过时了,所以浏览器不再支持它了。)这就是我的想法。它是HTTP规范的一部分,但是从HTML规范中删除了。这就是我的想法。它是HTTP规范的一部分,但已从HTML规范中删除。
Route::delete('/items/{id}', 'ItemController@destroy');
if($_SERVER['REQUEST_METHOD'] === 'DELETE' || (isset($_REQUEST['_method'] && $_REQUEST['_method'] === 'delete') {
...
}