array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.headers-sent.php', 1 => 'headers_sent', ), 'up' => array ( 0 => 'ref.network.php', 1 => 'Сетевые функции', ), 'prev' => array ( 0 => 'function.headers-list.php', 1 => 'headers_list', ), 'next' => array ( 0 => 'function.http-response-code.php', 1 => 'http_response_code', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/network/functions/headers-sent.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
headers_sent — Проверяет, были ли отправлены заголовки
Проверяет, были ли отправлены заголовки.
Нельзя отправить дополнительные строки заголовков, используя функцию 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 есть их поддержка.