header

(PHP 3, PHP 4 >= 4.0.0)

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

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