gpt4 book ai didi

php - 获取 PHP 删除变量

转载 作者:IT王子 更新时间:2023-10-29 00:03:31 26 4
gpt4 key购买 nike

如果我发出 HTTP DELETE,我如何访问 PHP 主体/变量?我知道如果您要发布 POST,您可以通过 $_POST['varname'] 访问它,但是如果它是 DELETE 而不是 POST,您如何访问它?假设这里的 varname 是 ID。

最佳答案

您可能需要直接从 php://input 流中读取数据。

我知道对于 PUT 请求必须这样做,并且一些快速的谷歌搜索表明该方法也适用于 DELETE

here例如。评论here表示此方法也适用于 DELETE

这是一个有趣的代码示例,将有所帮助(来自 symfony 1.4.9 框架的 sfWebRequest.class.php,为简洁起见略有改动):

public function initialize(...) 
{
... code ...

$request_vars = array();
if (isset($_SERVER['REQUEST_METHOD']))
{
switch ($_SERVER['REQUEST_METHOD'])
{
case 'PUT':
if ('application/x-www-form-urlencoded' === $this->getContentType())
{
parse_str($this->getContent(), $request_vars );
}
break;

case 'DELETE':
if ('application/x-www-form-urlencoded' === $this->getContentType())
{
parse_str($this->getContent(), $request_vars );
}
break;
}
... more code ...
}

public function getContent()
{
if (null === $this->content)
{
if (0 === strlen(trim($this->content = file_get_contents('php://input'))))
{
$this->content = false;
}
}

return $this->content;
}

此代码示例将 PUTDELETE 请求参数放入 $request_vars 数组中。一个限制似乎是表单(如果您使用另一个内容类型标题)必须是“application/x-www-form-urlencoded”,一些快速谷歌搜索证实了这一点。

关于php - 获取 PHP 删除变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5374796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com