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

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

if(headers_sent()){
    foreach(headers_list() as $header){
        header_remove($header);
    }
}
var_dump(headers_list());
 poncha27 мар. 2012 г., 01:43
возможно в соответствии сphp.net , но только с версии 5.3.0 - и вы даже можете удалить заголовки, сгенерированные самим php
 Hamish27 мар. 2012 г., 01:41
Если заголовки отправлены, не стоит их удалять (если вы можете), потому что ... они уже отправлены.
 MitMaro27 мар. 2012 г., 01:40
После того, как заголовки были отправлены?
 poncha27 мар. 2012 г., 01:44
и это, вероятно, будет работать только до тех пор, пока не будет получен какой-либо бит, не связанный с заголовками ... (так как после того, как вы что-то сбросите, заголовки уже отправлены в браузер)

Ответы на вопрос(3)

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

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

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

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

Решение Вопроса

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

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

if (!headers_sent()) {
  foreach (headers_list() as $header)
    header_remove($header);
}
 Stephen R17 янв. 2019 г., 01:18
Ваш код не работает для меня, потому что я получаю ошибку:PHP Warning: Header to delete may not contain colon

Ваш ответ на вопрос