Очистить ранее установленные заголовки php - PullRequest
10 голосов
/ 27 марта 2012

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

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

Ответы [ 3 ]

18 голосов
/ 27 марта 2012

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

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

if (!headers_sent()) {
  foreach (headers_list() as $header)
    header_remove($header);
}
6 голосов
/ 27 марта 2012

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

2 голосов
/ 18 января 2019

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...