Die Funktion header()

  • Mit der Funktion header() kann man dem Browser erweiterte oder spezielle Headerfunktionen anweisen. Dies kann z. B. das Laden (Weiterleitung) einer anderen Url, oder die Vortäuschung eines Error404 *) - Falles sein. Wichtig bei der Nutzung der Funktion header(): Dem Browser darf noch kein anderer Header gesandt werden, dies ist z. B.: - HTML-Code - HTML-Leerzeichen - PHP-Ausgaben Um für den Fall der Fälle dann eine Fehlermeldung zu unterdrücken, wird der Befehl einfach mit einem '@' versehen, also @header() anstatt header(): Die meisten PHP-User kennen bereits folgende Funktion: header("Location: http://www.pc-special.net/"); Damit wird sofort auf die angebebene Url weitergeleitet. Diese Möglichkeit nutzen viele Webmaster gern, wenn sie "blind" Funktionen und Aktionen abhandeln wollen. Wie z. B. bei einem Klicklink, oder ähnlichem. Aber die Funktion header() kann noch mehr. Da PHP-Skripte oft dynamische Inhalte erzeugen, macht es manchmal Sinn, einem Browser oder Proxy vorzugaukeln, dass die Seite völlig neu ist und nicht gecacht werden darf. Dies funktioniert folgendermaßen: <?php// Datum aus Vergangenheit<br />header("Expires: Mon, 1 Jan 2000 00:00:01 GMT"); // immer geändert => somit gilt diese immer als geändert header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // HTTP/1.1 header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false);// HTTP/1.0 header("Pragma: no-cache"); ?> Wenn Sie zur Laufzeit z. B. eine PDF-Datei schreiben, müssen Sie auf der Seite dem Browser natürlich sagen, dass Ihr PHP-Script nun ein PDF erzeugen wird. Dies kann man ebenfalls mit der Funktion header() realisieren. <?php// Wir werden dem Browser eine PDF Datei senden header("Content-type: application/pdf"); // Name artikel.pdf<br />header("Content-Disposition: attachment; filename=artikel.pdf"); // Das Original PDF Datei heißt original.pdf // an dieser Stelle kann auch zur Laufzeit das PDF erzeugt werden readfile('original.pdf'); Die Funktion header() ist sehr vielseitig. Alles zu erklären und zu zeigen sprengt den Rahmen und wird am Ende dann doch wieder ungenau. *) Error404: Fehlercode eines Webservers, wenn eine Seite nicht gefunden wurde.