header_register_callback în PHP

URL și HTTP PHP 5.4+

Înregistrează o funcție care rulează chiar înainte ca PHP să trimită antetele HTTP.

Sintaxă
header_register_callback(callable $callback): bool

Ce face header_register_callback

Funcția dată este apelată o singură dată, în momentul în care PHP trimite antetele: la prima afișare sau la finalul scriptului. În ea poți adăuga, modifica sau șterge antete cu header și header_remove.

Este utilă pentru antete care depind de tot ce s-a întâmplat în script (de exemplu un antet de securitate adăugat mereu, sau ștergerea antetului X-Powered-By). Se poate înregistra o singură funcție; un al doilea apel o înlocuiește pe prima.

Parametri

Parametru Descriere
$callback Funcția apelată, fără parametri.

Ce returnează

true la succes, false la eroare.

Exemple

Exemplul 1: Antete adăugate chiar înainte de trimitere

<?php
header_register_callback(function () {
    header("X-Generat-De: dexblog");
    header_remove("X-Powered-By");
});

echo "Salut";

Răspunsul HTTP primit de browser

HTTP/1.1 200 OK
Content-type: text/html; charset=UTF-8
X-Generat-De: dexblog

Salut

Greșeli frecvente

  • Afișezi text din funcția înregistrată. Antetele sunt în curs de trimitere, deci rezultatul apare înaintea conținutului paginii sau strică răspunsul.

Comenzi înrudite

  • header: Trimite un antet HTTP către browser: redirecționare, tipul conținutului, descărcare de fișier, cache.
  • headers_sent / headers_list: Verifică dacă antetele HTTP au fost deja trimise și îți spune în ce fișier și pe ce linie a început afișarea.
  • http_response_code: Setează sau citește codul de stare HTTP al răspunsului: 200, 404, 500 etc.