headers_sent

(PHP 4, PHP 5, PHP 7, PHP 8)

headers_sentПроверяет, были ли отправлены заголовки

Описание

headers_sent(string&$filename = null, int&$line = null): bool

Проверяет, были ли отправлены заголовки.

Нельзя отправить дополнительные строки заголовков, используя функцию header(), если заголовки уже отправлены. Используя эту функцию, можно предупредить ошибки, связанные с HTTP-заголовками. Другим вариантом является использование буферизации вывода.

Список параметров

filename

Если заданы дополнительные параметры filename и line, то функция headers_sent() поместит имя исходного файла PHP и номер строки, с которой начинается вывод в переменные filename и line.

Замечание:

Если вывод начался до выполнения исходного файла PHP (например, из-за ошибки запуска), параметр filename будет установлен как пустая строка.

line

Номер строки, с которой начинается вывод.

Возвращаемые значения

Функция headers_sent() вернёт false, если HTTP-заголовки не были отправлены, либо true если отправлены.

Примеры

Пример #1 Пример использования headers_sent()

<?php

// Если не было отправлено ни одного заголовка, то отправить один
if (!headers_sent()) {
header('Location: http://www.example.com/');
exit;
}

// Пример использования необязательных параметров file и line.
// Необходимо отметить, что $filename и $linenum передаются для дальнейшего использования.
// Не присваивайте им значения заранее.
if (!headers_sent($filename, $linenum)) {
header('Location: http://www.example.com/');
exit;

// Скорее всего, ошибка будет происходит здесь.
} else {

echo
"Заголовки уже были отправлены в $filename в строке $linenum\n" .
"Невозможно перенаправить, пожалуйста, передите по этой <a " .
"href=\"http://www.example.com\">ссылке</a>\n";
exit;
}

?>

Примечания

Замечание:

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

Смотрите также

  • ob_start() - Включает буферизацию вывода
  • trigger_error() - Вызывает пользовательскую ошибку/предупреждение/уведомление
  • headers_list() - Возвращает список переданных заголовков (или готовых к отправке)
  • Смотрите информацию по функции header() - Отправляет необработанный (сырой) HTTP-заголовок для более детальной информации.
To Top