Удалить ранее установленные заголовки php

Я хотел бы знать, можно ли очистить текущую информацию, хранящуюся в header_list()

if(headers_sent()){
    foreach(headers_list() as $header){
        header_remove($header);
    }
}
var_dump(headers_list());

Ответ 1

headers_sent указывает, что слишком поздно удалять заголовки. Они уже отправлены . Следовательно, имя функции.

То, что вы хотите, - это специально проверить, не были ли еще отправлены заголовки. Затем вы можете безопасно их модифицировать.

if (!headers_sent()) {
  foreach (headers_list() as $header)
    header_remove($header);
}

Ответ 2

Вы можете удалить заголовки только в том случае, если они еще не отправлены. Если headers_sent true, заголовки уже вышли, и вы больше не сможете их отключить.

Ответ 3

Удалить их все довольно просто:

if ( ! headers_sent() ) {
    header_remove();
}

Зацикливание не требуется. Если вы не передадите параметр в header_remove, он удалит все заголовки, установленные PHP.