header_register_callback

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

header_register_callback調(diào)用一個(gè) header 函數(shù)

說(shuō)明

header_register_callback(callable $callback): bool

注冊(cè)一個(gè)函數(shù),在 PHP 開(kāi)始發(fā)送輸出時(shí)調(diào)用。

PHP 準(zhǔn)備好所有響應(yīng)頭,在發(fā)送內(nèi)容之前執(zhí)行 callback,創(chuàng)建了一個(gè)發(fā)送響應(yīng)頭的操作窗口。

參數(shù)

callback

在頭發(fā)送前調(diào)用函數(shù)。 它沒(méi)有參數(shù),返回的值也會(huì)被忽略。

返回值

成功時(shí)返回 true, 或者在失敗時(shí)返回 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() 是在頭即將發(fā)送前執(zhí)行的, 所以本函數(shù)的任意內(nèi)容輸出都會(huì)打斷輸出過(guò)程。

注意:

數(shù)據(jù)頭只會(huì)在SAPI支持時(shí)得到處理和輸出。

參見(jiàn)

  • headers_list() - 返回已發(fā)送的 HTTP 響應(yīng)頭(或準(zhǔn)備發(fā)送的)
  • header_remove() - 刪除之前設(shè)置的 HTTP 頭
  • header() - 發(fā)送原生 HTTP 頭