(PHP 4, PHP 5, PHP 7)
headers_sent — Проверяет были ли и куда отправлены заголовки
&$file
[, int &$line
]] )Проверяет были ли и куда отправлены заголовки.
Нельзя отправить дополнительные строки заголовков, используя функцию header() если заголовки уже были отправлены. Используя эту функцию, можно предупредить ошибки, связанные с HTTP заголовками. Также можно использовать буферизацию вывода.
file
Если опциональные параметры file
и
line
установлены, то функция
headers_sent() поместит имя файла PHP исходника и номер строки, с которой начинается вывод, в переменные file
и 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\">link</a> ссылке\n";
exit;
}
?>
Замечание:
Доступ к заголовкам и их вывод будет осуществляться только в случае, если в используемом вами SAPI есть их поддержка.