Jest użyta do wysyłania surowych nagłówków HTTP.
Pamiętaj header() musi być użyty przed wszystkimi inymi wysyłkami, labo za pomocą tagów HTML, pustej lini pliku lub z php. Częstym błędem jest odczyt kodu funkcji z include(), lub require() lub innej funkcji dostępnej z pliku, oraz puste przestrzenie przed wysyłanym kodem header(). Ten sam problem występuje kiedy używasz pojedynczego pliku PHP/HTML
<html>
<?php
/* To zwróci błąd
* ponieważ przed header użyto kodu */
header('Location: http://www.example.com/');
?>
Parametry
- string - ciąg nagłówka
-
Istnieją dwa specjalne przypadki nagłówka połączeń.
Pierwszy to ciąg "HTTP/", który bdzie użyty do dowiedzenia się o kod statusu HTTP do wysłania. Np. jeśli masz skonfigurowany Apache dla skryptu PHP do uchwytu żądania dla brakujących plików, możesz mieć pewność ze twój skrypt wygeneruje prawidłowy kod statusu<?php
header("HTTP/1.0 404 Not Found");
?>Drugim specjalnym przypadkiem jest nagłówek "Location:" nie tylko wysyła nagłowek do przeglądarki, ale też zwraca REDIRECT(302) (przekierowanie) do przeglądarki chyba że status 3xx jest już ustawiony
<?php
header("Location: http://www.example.com/"); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit;
?> - replace - paramert opcjonalny, wskazuje czy nagłówek powinien być zastąpiony poprzednim nagłówkiem, czy powinien być dodany drugi nagłówek teko samoego typu. Domyśłnie zostanie zastąpiony, ale jeśi przepuścisz FALSE jako drugi argument możesz wymusić wiele nagłowków tego samego typu. Np:
-
<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?> - http_response_code - Wymusza kod odpowiedzi HTTP do określonej wartości
Zwracane wartości
nie jest zwracana żadna wartość.
Listing
/*
Jeśli chcesz aby użytkownik został poproszony o zapis wysłanych danych, takich jak wygenerowny plik PDF, możesz użyć nagłówka ? Content-Disposition by zalecić dostawę pliku i wymusić wyświetlenie okna do zapisu plików.
*/
<?php
// skrypt PDF
header('Content-type: application/pdf');
// wezwie do zapisu pliku PDF downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// Źródło PDF jest w original.pdf
readfile('original.pdf');
?>
Ranga: Administrator serwisu Punktów: 0