headers_sent
(PHP 4, PHP 5, PHP 7)
headers_sent — Проверяет, были ли отправлены заголовки
Описание
&$filename
= null
, int &$line
= null
) : boolПроверяет, были ли отправлены заголовки.
Нельзя отправить дополнительные строки заголовков, используя функцию header(), если заголовки уже отправлены. Используя эту функцию, можно предупредить ошибки, связанные с HTTP-заголовками. Другим вариантом является использование буферизации вывода.
Список параметров
-
filename
-
Если заданы дополнительные параметры
filename
иline
, то функция headers_sent() поместит имя исходного файла PHP и номер строки, с которой начинается вывод в переменныеfilename
иline
. -
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-заголовка для более детальной информации.