2013-03-21 149 views
1

您正在多次设置一些具有相同名称的特定标头。例如如何删除PHP中的特定http响应标头

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

之后,你喜欢只删除“设置Cookie:酒吧”,而不是其他人。 如何做到这一点?

header_remove doens't在这里工作,因为你可以指定名称“Set-Cookie”,但不具体的Cookie“Set-Cookie:Foo”。

回答

2

这不是很好,但它的工作原理:

解决的办法是复制所有标题,全部删除,过滤器和再创造。

$headers = headers_list(); 
header_remove(); // removes all headers 
foreach($headers as $h) { 
    if (!preg_match("/^Set-Cookie: Bar$/", $h)) { 
     header($h); 
    } 
}