1

您正在多次设置一些具有相同名称的特定标题。例如

header("Set-Cookie: Foo=bar");
header("Set-Cookie: Bar=foo");
header("Set-Cookie: Baz=bob");

之后你想只删除“Set-Cookie: Bar”,而不是其他的。这个怎么做?

header_remove在这里不起作用,因为您可以指定名称“Set-Cookie”,但不能指定 Cookie“Set-Cookie: Foo”。

4

1 回答 1

2

这不好,但它有效:

解决方案是复制所有标题,全部删除,过滤并重新创建。

$headers = headers_list();
header_remove(); // removes all headers
foreach($headers as $h) {
    if (!preg_match("/^Set-Cookie: Bar$/", $h)) {
        header($h);
    }
}
于 2013-03-21T16:52:54.330 回答