ヘッダ用の関数を登録する

# header_register_callback

(PHP 5 >= 5.4.0, PHP 7)

header_register_callback — ヘッダ用の関数を登録する

### 説明

header_register_callback ( callable `$callback` ) : bool

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() - 以前に設定したHTTPヘッダを削除する
- header() - 生の HTTP ヘッダを送信する