2013-03-21 152 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); 
    } 
}