header

header -- Poslat HTTP hlavičku

Popis

int header ( string string)

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 , 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 :

 
header

 
(

 
"HTTP

 
/

 
1.0 404

 
Not

 
Found")

 
;





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 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( )