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


(PHP 4, PHP 5)

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

Описание

bool headers_sent ([ string &$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, как в PHP 4.3.0
// необходимо отметить, что $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 есть их поддержка.

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

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