header_register_callback()

1. 定义

该函数将在发送所有的HTTP响应头之前执行回调函数cllback(),成功时返回TRUE,失败则返回FALSE。

注:

  • 该回调函数不能有任何输出,否则将打断HTTP响应头
  • 该回调函数不传入任何参数,返回值也无效

2. 语法

header_register_callback ( callable $callback ) : bool

3. 参数说明

参数 可选性 数据类型 描述
$callback 必需 callback HTTP响应头发送前的操作函数

4. 示例

<?php

// header_register_callback()
// 发送所有的HTTP响应头之前执行回调函数`cllback()`,成功时返回TRUE,失败则返回FALSE

header('X-custom-user:jisu');
header('X-custom-site:https://www.jisuapi.com/');
header('Content-type:text/plain');

function callback()
{
    foreach (headers_list() as $key => $value) {
        if(strpos($value, 'X-custom-user:') !== false)
        {
            header('X-custom-user:极速教程');// 修改/覆盖其值
        }
        header_remove('x-powered-by');
    }
}

$res = header_register_callback('callback');// 传入回调函数的名称
var_dump($res);// 输出:bool(true)

/**
 * 同时在浏览器的开发者工具中,Headers部分的 Response Header 栏看到如下信息:
 * Content-Type: text/plain;charset=UTF-8
 * X-custom-site: https://www.jisuapi.com/
 * X-custom-user: 极速教程
 */

5. 延展阅读