Die Funktion header() sendet rohe HTTP-Header an den Client.
Es ist wichtig zu wissen, dass die Funktion header() aufgerufen werden muss, bevor eine tatsächliche Ausgabe gesendet wird (in PHP 4 und höher können Sie die Ausgabepufferung verwenden, um dieses Problem zu lösen):
<html><?php// Dies führt zu einem Fehler.// Die obige Ausgabe steht vor dem header()-Aufrufheader('Location: http://www.example.com/');?>
header(string,replace,http_response_code)
Parameter | beschreiben |
---|---|
Zeichenfolge | Erforderlich. Gibt die zu sendende Header-Zeichenfolge an. |
ersetzen | Optional. Gibt an, ob dieser Header den vorherigen Header ersetzt oder einen zweiten Header hinzufügt. Der Standardwert ist TRUE (Ersatz). FALSE (mehrere Header desselben Typs zulassen). |
http_response_code | Optional. Erzwingt den HTTP-Antwortcode auf den angegebenen Wert. (Verfügbar in PHP 4.3 und höher) |
Hinweis: Seit PHP 4.4 verhindert diese Funktion das gleichzeitige Senden mehrerer Header. Dies ist eine Schutzmaßnahme gegen Header-Injection-Angriffe.
Seiten-Caching deaktivieren:
<?php// Datum in der Vergangenheitheader("Läuft ab: Mo, 26. Juli 1997 05:00:00 GMT");header("Cache-Control: no-cache");header("Pragma: no-cache") ;?><html><body>......
Hinweis: Es gibt Optionen, die Benutzer festlegen können, um die Standard-Cache-Einstellungen ihres Browsers zu ändern. Durch Senden des obigen Headers können Sie jede dieser Einstellungen überschreiben und den Browser dazu zwingen, keinen Cache zu erstellen!
Fordern Sie den Benutzer auf, eine generierte PDF-Datei zu speichern (der Content-Disposition-Header wird verwendet, um einen empfohlenen Dateinamen anzugeben und den Browser zu zwingen, einen Speicherdialog anzuzeigen):
<?phpheader("Content-type:application/pdf");// Es wird heruntergeladen.pdfheader("Content-Disposition:attachment;filename='downloaded.pdf'");// Die PDF-Quelle ist im Original .pdfreadfile("original.pdf");?><html><body>......
Hinweis: Microsoft IE 5.5 weist einen Fehler auf, der den oben genannten Mechanismus verhindert. Dieser Fehler kann durch ein Upgrade auf Service Pack 2 oder höher behoben werden.