(PHP 3 >= 3.0.8, PHP 4, PHP 5)headers_sent -- Проверяет отправлены ли HTTP-заголовки клиенту и, если отправлены, то где
Описание
bool
headers_sent ( [string &file [, int &line]] )
- headers_sent() возвращает FALSE, если HTTP заголовки еще не были отправлены клиенту, и TRUE в противоположном случае. Если были указаны необязательные параметры file и line, headers_sent() вернет имя файла и номер строки, где был начат вывод данных в переменные file и line соответственно.
- Вы не можете добавить новые заголовки при помощи функции header(), если заголовки уже были отправлены клиенту. Использование данной функции позволит вам лишь избежать сообщений об ошибках, связанных повторной отправкой HTTP-заголовков. Другой выход - использовать буферизацию вывода.
Замечание: Необязательные параметры file и line были добавлены в PHP 4.3.0.
-
Пример 1. Пример использования headers_sent()
<?php
// Если заголовки еще не отправлены, добавить if (!headers_sent()) { header('Location: http://www.example.com/'); exit; } // Пример использования опциональных параметров, добавленных в 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\">Здесь</a> самостоятельно\n"; exit; }
?>
|
|
- Смотрите также функции ob_start(), trigger_error(), и header() для более подробного обсуждения затронутых вопросов.
Пред.
Начало
След.
headers_list
Уровень выше
setcookie
22222