Fonction header()
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>
...
...