PHP header () Funktion
Definition und Verwendung
header () Funktion an den Client rohen HTTP-Header zu senden.
Es ist wichtig zu erkennen, dass Sie die Funktion header () aufrufen müssen, bevor eine Ausgabe gesendet wird (in PHP 4 und späteren Versionen können Sie die Ausgabe-Pufferung zu lösen dieses Problem verwenden):
<?php
// This results in an error.
// The output above is before the header() call
header('Location: http://www.example.com/');
?>
Grammatik
参数 | 描述 |
---|---|
string | 必需。规定要发送的报头字符串。 |
replace | 可选。指示该报头是否替换之前的报头,或添加第二个报头。默认是 TRUE(替换)。FALSE(允许相同类型的多个报头)。 |
http_response_code | 可选。把 HTTP 响应代码强制为指定的值。(PHP 4.3 以及更高版本可用) |
Tipps und Hinweise
HINWEIS: Ab nach PHP 4.4, die Funktion mehrere Header zu verhindern senden.Dies ist ein Schutz gegen Kopf-Injection-Angriffe.
Beispiel 1
Seitencache deaktivieren:
// 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>
...
...
Hinweis: Benutzer einige Optionen festlegen können die Standard - Browser - Cache - Einstellungen zu ändern.Durch das Senden über die Header, können Sie eine dieser Einstellungen außer Kraft setzen, nicht den Browser-Cache zwingen!
Beispiel 2
Fordert den Benutzer eine generierte PDF-Datei zu speichern (Content-Disposition-Header wird verwendet, um einen empfohlenen Dateinamen zur Verfügung zu stellen und den Browser zu zwingen, den Speichern-Dialog angezeigt):
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>
...
...
HINWEIS: Microsoft IE 5.5 mehr als die Existenz eines Mechanismus , um den Fehler zu verhindern.Durch ein Upgrade auf Service Pack 2 oder neuere Versionen, können Sie den Fehler zu beheben.
Komplette PHP HTTP - Referenzhandbuch