array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.header-register-callback.php', 1 => 'header_register_callback', ), 'up' => array ( 0 => 'ref.network.php', 1 => 'Сетевые функции', ), 'prev' => array ( 0 => 'function.getservbyport.php', 1 => 'getservbyport', ), 'next' => array ( 0 => 'function.header-remove.php', 1 => 'header_remove', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/network/functions/header-register-callback.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
header_register_callback — Вызывает функцию заголовка
Регистрирует функцию, которая будет вызвана когда PHP начнёт отправлять вывод.
Параметр callback
запускается сразу после того, как PHP были подготовлены все отправляемые заголовки, и перед отправкой любого другого вывода, создавая возможность для управления исходящими заголовками перед отправкой.
callback
Функция вызывается непосредственно перед отправкой заголовков, не получает параметров и возвращаемое значение игнорируется.
Возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Пример #1 Пример использования header_register_callback()
<?php
header('Content-Type: text/plain');
header('X-Test: foo');
function foo() {
foreach (headers_list() as $header) {
if (strpos($header, 'X-Powered-By:') !== false) {
header_remove('X-Powered-By');
}
header_remove('X-Test');
}
}
$result = header_register_callback('foo');
echo "a";
?>
Вывод приведённого примера будет похож на:
Content-Type: text/plain a
Функция header_register_callback() запускается по готовности отправки заголовков, так что любой вывод из этой функции может прервать вывод.
Замечание:
Доступ к заголовкам и их вывод будет осуществляться только в случае, если в используемом вами SAPI есть их поддержка.