NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

PHP - header

Třída

Kořen \ Bez třídy

Metoda - header

Funkce header() slouží k odesílání HTTP hlavičky.

Pozor:

  1. Funkci je třeba zavolat před jakýmkoliv výpisem (problém mohou způsobit například i bílé znaky před <?php). Pro vyhnutí se problémům, je vhodné použít výstupní bufferování.
  2. Funkce nepřerušuje provádění kódu, tudíž pokud je to potřeba (například při přesměrování), je nutné jej ukončit ručně (například pomocí exit).

Procedurální

  • function header (string $string, bool $replace = true, int $http_response_code) : void

Parametry

NázevDatový typVýchozí hodnotaPopis
$stringstring

Řetězec pro nastavení hlavičky.

1. Nastavení HTTP hlavičky Slouží pro nastavení stavového kódu. Pokud například vybíráte z databáze článek na základě zadané URL adresy a uživatel zadá adresu, která neexistuje, měli byste zobrazit chybovou stránku a poslat v hlavičce stavový kód indikující, že stránka nebyla nalezena. Předejdete tím problémům s nesprávnou indexací obsahu.

<?php
header("HTTP/1.0 404 Not Found");

2. Přesměrování Slouží k přesměrování na jinou stránku. Pokud nebyl nastaven stavový kód 201 nebo 3xx, vrátí stavový kód 302 (nalezeno). Pozor: Přesměrování nezruší vykonávání kódu, je třeba jej zrušit manuálně.

<?php
header("Location: https://www.itnetwork.cz/");
exit;
$replacebool true

Indikuje, zda v případě již existující hlavičky se stejným typem, má být hodnota této hlavičky nahrazena nebo zda má být přidána nová hlavička stejného typu. Výchozí hodnota true značí přepsání hlavičky. Pro přidání další stejného typu je třeba předat hodnotu false.

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
$http_response_codeint

Vynutí přepsání návratového kódu HTTP na zadanou hodnotu. V případě, že nebyla zadána žádná hlavička, tento parametr nemá žádný efekt.

Návratové hodnoty

Vrací:

Nevrací žádnou návratovou hodnotu.

Příklady

Nastavení chybové hlavičky 404:

<?php
header('HTTP/1.0 404 Not Found');

Přesměrování na https://www.itnetwork.cz/ s kódem 301 (trvale přesunuto):

<?php
header('Location: https://www.itnetwork.cz/', true, 301);

Nastavení typu obsahu aktuální odpovědi:

<?php
header('Content-type: application/pdf');

Vypnutí cachování na straně prohlížeče:

<?php
header('Expires: Thu, 1 Jan 1997 01:00:00 GMT');
header('Cache-Control: no-cache');
header('Pragma: no-cache');

HTTP autentizace:

<?php
header('WWW-Authenticate: Basic realm=""');
header('HTTP/1.0 401 Unauthorized');

Špatně: Výpis textu před nastavením hlavičky:

<?php
echo('Text');
header('HTTP/1.0 404 Not Found');

Správně: Výpis textu před nastavením hlavičky s bufferováním:

<?php
ob_start();
echo('Text');
header('HTTP/1.0 404 Not Found');
$buffer = ob_get_clean();
echo($buffer);

Související manuály

        Aktivity