Gli ultimi tutorial di sviluppo web
 

PHP header() Function


<Completa PHP HTTP di riferimento

Definizione e l'utilizzo

L' header() funzione invia un'intestazione HTTP grezzo a un client.

E 'importante notare che header() deve essere chiamato prima di ogni uscita effettiva viene inviato (In PHP 4 e versioni successive, è possibile utilizzare il buffer di uscita per risolvere questo problema):

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

Sintassi

header(string,replace,http_response_code)

Parametro Descrizione
string Necessario. Specifica la stringa di intestazione di inviare
replace Opzionale. Indica se l'intestazione dovrebbe sostituire precedente o aggiungere una seconda intestazione. Predefinito è vero (will replace) . FALSE (allows multiple headers of the same type)
http_response_code Opzionale. Forza il codice di risposta HTTP al valore specificato (available in PHP 4.3 and higher)

Suggerimenti e Note

Note: Poiché PHP 4.4 questa funzione impedisce più intestazioni da inviare in una volta. Si tratta di una protezione contro gli attacchi di iniezione colpo di testa.


esempio 1

Prevenire il caching delle pagine:

<?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: Ci sono opzioni che gli utenti possono impostare per modificare le impostazioni di default di caching del suo navigatore web. Inviando le intestazioni di cui sopra, si dovrebbe ignorare qualsiasi di queste impostazioni e forzare il browser a non memorizzare nella cache!


esempio 2

Permettere all'utente viene richiesto di salvare un file PDF generato (header Content-Disposition è utilizzato per la fornitura di un nome di file raccomandato e forzare il browser per visualizzare la finestra di dialogo Salva):

<?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: C'è un bug di Microsoft Internet Explorer 5.5 che impedisce questo di lavorare. Il bug può essere risolto con l'aggiornamento al Service Pack 2 o successivo.


<Completa PHP HTTP di riferimento