Fonction header()

❮ Référence du réseau PHP

Exemple

Envoyer trois en-têtes HTTP pour empêcher la mise en cache de la page :

<?php
// Date dans le passé
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>

<html>
<body>
...
...

Remarque : Il existe des options que les utilisateurs peuvent définir pour modifier les paramètres de mise en cache par défaut du navigateur. En envoyant les en-têtes ci-dessus, vous remplacerez ces paramètres et forcerez le navigateur à ne pas mettre en cache !


Définition et Utilisation

La fonction header() envoie un en-tête HTTP brut à un client.

Il est important de noter que la fonction header() doit être appelée avant que toute sortie réelle ne soit envoyée !

Syntaxe

header( header , replace , http_response_code )

Valeurs des Paramètres

Paramètre Description
header Requis. Spécifie la chaîne d'en-tête à envoyer
replace Optionnel. Indique si l'en-tête doit remplacer un en-tête similaire précédent ou ajouter un nouvel en-tête du même type. Par défaut, c'est TRUE (remplacera). FALSE permet plusieurs en-têtes du même type
http_response_code Optionnel. Force le code de réponse HTTP à la valeur spécifiée


Détails Techniques

Valeur de Retour : Rien
Version PHP : 4.0+
Journal des Modifications PHP : PHP 5.1.2 : Empêche maintenant l'envoi de plus d'un en-tête à la fois. C'est une protection contre les attaques par injection d'en-têtes

Plus d'Exemples

Exemple

Demander à l'utilisateur de sauvegarder un fichier PDF généré (l'en-tête Content-Disposition est utilisé pour fournir un nom de fichier recommandé et forcer le navigateur à afficher la boîte de dialogue de sauvegarde) :

<?php
header("Content-type:application/pdf");

// Il sera nommé downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");

// La source PDF est dans original.pdf
readfile("original.pdf");
?>

<html>
<body>

...
...


❮ Référence du réseau PHP