Najnowsze tutoriale tworzenie stron internetowych
 

PHP header() Function


<Pełna referencyjny PHP HTTP

Definicja i Wykorzystanie

header() funkcja wysyła nagłówek HTTP surowca do klienta.

Ważne jest, aby zauważyć, że header() musi być wywołana przed jakimkolwiek rzeczywista moc jest przesyłana (W PHP 4 i później, można użyć buforowania wyjścia aby rozwiązać ten problem):

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

Składnia

header(string,replace,http_response_code)

Parametr Opis
string Wymagany. Określa ciąg nagłówka wysłać
replace Opcjonalny. Wskazuje, czy nagłówek powinien zastąpić poprzedni lub dodać drugi nagłówek. Domyślną jest TRUE (will replace) . FAŁSZ (allows multiple headers of the same type)
http_response_code Opcjonalny. Wymusza kod odpowiedzi HTTP do określonej wartości (available in PHP 4.3 and higher)

Porady i uwagi

Note: Począwszy od PHP 4.4 funkcja ta zapobiega więcej niż jeden nagłówek zostać wysłany na raz. Jest to ochrona przed atakami wstrzyknięcia nagłówka.


Przykład 1

Zapobiec buforowanie strony:

<?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: Nie ma możliwości, że użytkownicy mogą się zmienić domyślne ustawienia buforowanie przeglądarki. Wysyłając nagłówki powyżej, należy zastąpić któryś z tych ustawień i zmusić przeglądarkę do nie buforują!


Przykład 2

Pozwalają użytkownikowi monit o zapisanie wygenerowanego pliku PDF (Content-Dyspozycja header służy do zasilania zalecaną nazwę pliku i zmusić przeglądarkę, aby wyświetlić okno dialogowe zapisywania):

<?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: Jest to błąd w programie Microsoft Internet Explorer 5.5, który uniemożliwia wykorzystanie tego mechanizmu. Błąd może być rozwiązana przez uaktualnienie do dodatku Service Pack 2 lub nowszym.


<Pełna referencyjny PHP HTTP