int header ( string kentta [haka], bool korvaataanko = TRUE [haka], int http_reponse_code[/haka][/haka])
Header-metodia käytetään HTTP-headerien lähettämiseen. HTTP/1.1 protokollamäärityksistä löytyy lisätietoja headereista.
Valinnainen korvataanko-parametri kertoo, korvataanko edellinen samalla otsikolla lähetetty header-rivi vai lisätäänkö uusi rivi sen perään. Oletuksena se korvataan, mutta voit estää sen laittamalla parametriksi FALSE.
Toinen valinnainen parametri http_response_code pakottaa vastauskoodiksi tietyn kokonaisluvun. (käytössä PHP 4.3.0 ja uudemmissa) Toimintoa tarvitaan, jos lähetetty header-sisältää jonkun virhekoodin (esimerkiksi 404 Not Found) ja se halutaan muuttaa (ei yleensä tarpeellista). Toinen, yleisemmin tarvittu tapaus on se, että halutaan ilmoittaa jonkun sivun siirtyneen pysyvästi. Se voidaan suorittaa esimerkiksi seuraavasti:
<?php header("Location: http://www.esim.fi/", true, 301); // ohjaa selaimen exit; // varmistaa, ettei headerien jälkeen lähetetä tavaraa (ei välttämätön, mutta suositeltava) ?>
Edellinen komento lähettää headerit
301 Moved
Location: http://www.esim.fi/
kun komento ilman lisäparametria lähettäisi
302 Moved temporarily
Location: http://www.esim.fi/
Yleinen käyttötarkoitus headereilla (edelleenohjauksen lisäksi) on estää sivun lisääminen välimuistiin. Seuraava esimerkki toimii lähes kaikilla selaimilla.
<?php header("Expires: Mon, 25 Jan 1995 02:00:00 GMT"); // vanhentumispäivämäärä menneisyydestä (aina vanhentunut) header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // muokattu nyt (vaatii palvelimen kellon olevan oikeassa ajassa) header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1, ei säilytetä välimuistissa header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); // HTTP/1.0, ei säilytetä välimuistissa ?>
Headereita tarvitaan myös jonkin muun kuin HTML-tiedoston lähettämisessä. Esimerkiksi HTML-lähdekoodin voi lähettää seuraavalla tavalla (hypoteettinen esimerkki, koska siihen kannattaa käyttää komentoa show_source) :
Toimivampi/käyttökelpoisempi esimerkki edelliseen.