清除以前设置的标题php

Kil*_*awr 10 php http-headers

我想知道是否可以清除header_list()中存储的当前信息

if(headers_sent()){
    foreach(headers_list() as $header){
        header_remove($header);
    }
}
var_dump(headers_list());
Run Code Online (Sandbox Code Playgroud)

mea*_*gar 18

headers_sent表示删除标题为时已晚.他们已经被送了.因此功能的名称.

你需要的是专门检查标头没有被又发了.然后你知道修改它们是安全的.

if (!headers_sent()) {
  foreach (headers_list() as $header)
    header_remove($header);
}
Run Code Online (Sandbox Code Playgroud)


dec*_*eze 6

只有在尚未发送标题时才能删除标题.如果headers_senttrue,标题已经消失,你不能再取消它们了.


Ste*_*n R 6

将它们全部删除非常简单:

if ( ! headers_sent() ) {
    header_remove();
}
Run Code Online (Sandbox Code Playgroud)

不需要循环。如果您不向 传递参数header_remove,它将删除由 PHP 设置的所有标头。