Neueste Web-Entwicklung Tutorials
 

PHP header() Function


<Vollständige PHP HTTP Referenz

Definition und Verwendung

Der header() Funktion sendet einen HTTP - Header an einen Client.

Es ist wichtig zu bemerken , dass header() muss vor dem eigentlichen aufgerufen wird jeder Ausgang gesendet wird (In PHP 4 und höher können Sie den Ausgabepuffer , um dieses Problem zu lösen):

<html>
<?php
// This results in an error.
// The output above is before the header() call
header('Location: http://www.example.com/');
?>

Syntax

header(string,replace,http_response_code)

Parameter Beschreibung
string Erforderlich. Gibt die Header-Zeichenfolge zu senden
replace Optional. Gibt an, ob der Header vorherigen ersetzen soll, oder einen zweiten Header hinzufügen. Der Standardwert ist TRUE (will replace) . FALSE (allows multiple headers of the same type)
http_response_code Optional. Zwingt den HTTP - Response - Code auf den angegebenen Wert (available in PHP 4.3 and higher)

Tipps und Hinweise

Note: Seit PHP 4.4 diese Funktion mehr als einen Kopf verhindert sofort gesendet werden. Dies ist ein Schutz gegen Header-Injection-Angriffe.


Beispiel 1

Verhindern, dass Seiten-Caching:

<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>

<html>
<body>

...
...

Note: Es gibt Optionen , die Benutzer festlegen können die Browser-Standard - Caching - Einstellungen ändern. Durch das Senden der Header oben, sollten Sie eine dieser Einstellungen außer Kraft setzen und den Browser zwingen, nicht zwischengespeichert werden!


Beispiel 2

Lassen Sie die Benutzer aufgefordert, eine generierte PDF-Datei zu speichern (Content-Disposition-Header wird verwendet, um einen empfohlenen Dateinamen anzubieten und den Browser zu zwingen, wird das Dialogfeld zum Speichern anzuzeigen):

<?php
header("Content-type:application/pdf");

// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");

// The PDF source is in original.pdf
readfile("original.pdf");
?>

<html>
<body>

...
...

Note: Es ist ein Fehler in Microsoft Internet Explorer 5.5 , die diese von der Arbeit verhindert. Der Fehler kann durch ein Upgrade auf Service Pack 2 oder später gelöst werden.


<Vollständige PHP HTTP Referenz