Manuál PHP | ||
---|---|---|
Předcházející | Další |
Funkce header() se používá na začátku HTML souboru k odeslání HTTP hlaviček. Více informací o HTTP hlavičkách viz Specifikace HTTP 1.1. Poznámka: Pamatujte, že funkce header() musí být volána dříve než se odešle jakýkoliv normální výstup, ať už normálními HTML tagy, nebo z PHP. Velmi obvyklou chybou je načítat kód pomocí include() nebo auto_prepend a mít v tomto kódu prázdné řádky, které způsobí odeslání výstupu před voláním funkce header().
Existují dva zvláštní případy volání funkce header(). Prvním je hlavička "Location". Ta nejenže odešle hlavičku browseru, ale navíc i vrátí Apachi stavový kód REDIRECT. Z pohledu autora skriptu by to nemělo být důležité, ale je to důležité pro lidi, kteří rozumí vnitřnostem Apache.
header ("Location: http://www.php.net"); /* Přesměrujeme browser na web site PHP */ exit; /* Pojistíme si, že se další kód nevykoná po přesměrování. */ |
Druhým zvláštním případem jsou všechny hlavičky začínající řetězcem "HTTP/" (velikost písmen nehraje roli). Například, pokud direktiva ErrorDocument 404 vašeho Apache ukazuje na PHP skript, nebylo by od věci, kdyby skutečně generoval 404. První věcí, kterou byste v tomto skriptu měli udělat tudíz bude:
PHP skripty často generují dynamické HTML, které nesmí být cachováno uživatelským browserem, ani žýdnými proxynami mezi serverem a uživatelským browserem. Mnoho proxyn a klientů se dá donutit k vypnutí cachování s pomocí
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // datum v minulosti header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // vždy upraven header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header ("Pragma: no-cache"); // HTTP/1.0 |
Viz také headers_sent()
Předcházející | Domů | Další |
HTTP funkce | Nahoru | headers_sent |