Я думаю, что большинство из нас знает о печально известной ошибке «Заголовки, уже отправленные» на PHP. Могу ли я проверить, если заголовки уже отправлены?
Было бы очень полезно сделать это, прежде чем изо всех сил пытаться установить некоторые данные SESSION или аналогичные.
Благодаря!
PHP имеет функцию headers_sent()
которая позволяет вам проверить, отправлены ли заголовки, прежде чем предпринимать какие-либо действия. Вот как вы могли бы использовать функцию в своем коде:
if(headers_sent()) { //if headers already sent out print some message. echo "Please go to yahoo.com"; } else{ //send the user automatically to test.php header('Location: http://yahoo.com'); exit; }
Да, вы можете использовать функцию headers_sent .
Проверяет, были ли отправлены заголовки.
Вы не можете добавить больше строк заголовка, используя функцию header (), как только блок заголовка уже отправлен. Используя эту функцию, вы можете по крайней мере предотвратить получение сообщений об ошибках, связанных с заголовком HTTP. Другой вариант – использовать буферизацию вывода.
headers_list также может представлять интерес, который возвращает массив всех отправленных заголовков.