downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

header_remove> <getservbyport
[edit] Last updated: Fri, 17 May 2013

view this page in

header_register_callback

(Информация о версии неизвестна, возможно, только в SVN)

header_register_callbackВызывает функцию заголовка (header)

Описание

bool header_register_callback ( callable $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 есть их поддержка.

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

  • headers_list() - Возвращает список переданных (или готовых к передаче) заголовков
  • header_remove() - Удаляет предварительно установленные заголовки
  • header() - Отправка HTTP заголовка


add a note add a note User Contributed Notes header_register_callback - [1 notes]
up
1
matt@kafene
2 months ago
Note that this function only registers a single callback as of php 5.4. The most recent callback set is the one that will be executed, they will not be executed in order like with register_shutdown_function(), just overwritten.

Here is my test:

<?php

$i
= $j = 0;
header_register_callback(function() use(&$i){ $i+=2; });
header_register_callback(function() use(&$i){ $i+=3; });
register_shutdown_function(function() use(&$j){ $j+=2; });
register_shutdown_function(function() use(&$j){ $j+=3; });
register_shutdown_function(function() use(&$j){ var_dump($j); });
while(!
headers_sent()) { echo "<!-- ... flushing ... -->"; }
var_dump(headers_sent(), $i);
exit;

?>

Results:

headers_sent() - true
$i = 3
$j = 5

 
show source | credits | sitemap | contact | advertising | mirror sites