| php-manual.net |
|
| Home | PHP Manual auf Deutsch | PHP Manual in English | PHP manuel le sur le français | Impressum |
header(PHP 4, PHP 5) header — Envoie un en-tête HTTP Description
void header
( string $string
[, bool $replace
[, int $http_response_code
]] )
header() permet de spécifier l'en-tête HTTP string lors de l'envoi des fichiers HTML. Reportez-vous à » HTTP/1.1 Specification pour plus d'informations sur les en-têtes HTTP.
Le paramètre optionnel replace indique si la fonction header() doit remplacer un en-tête précédemment émis, ou bien ajouter un autre en-tête du même type. Par défaut, un nouvel en-tête va écraser le précédent, mais si vous passez FALSE dans cet argument, vous pouvez forcer les en-têtes multiples pour un même type d'en-tête. Par exemple :
Exemple #1 Identification HTTP avec header()
<?phpLe second paramètre optionnel force le code de réponse HTTP à la valeur de http_response_code . Ce paramètre est disponible en PHP 4.3.0 et plus récent. Il y a deux en-têtes spéciaux. Le premier commence par la chaîne "HTTP/" (insensible à la casse), qui est utilisée pour signifier le statut HTTP à envoyer. Par exemple, si vous avez configuré Apache pour utiliser les scripts PHP pour gérer les requêtes vers des fichiers inexistants (en utilisant la directive ErrorDocument), vous voulez-vous assurer que le script génère un code statut correct.
Exemple #2 Générer une erreur 404 avec header()
<?php
Le deuxième type d'appel spécial est "Location:". Non seulement il renvoie un en-tête au client, mais, en plus, il envoie un statut REDIRECT (302) à Apache. Du point de vue de l'auteur de script, cela importe peu, mais pour ceux qui connaissent les rouages internes d'Apache, c'est primordial.
Exemple #3 Redirection HTTP avec header()
<?php
Les scripts PHP génèrent souvent du HTML dynamiquement, qui ne doit pas être mis en cache, ni par le client, ni par les proxy intermédiaires. On peut forcer la désactivation du cache de nombreux clients et proxy avec : Exemple #5 Interdire la mise en cache avec header()
<?php
N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards. Exemple #6 header() doit toujours être appelé en premier
<?php
Si vous voulez que vos utilisateur recoivent une alerte pour sauver les fichiers générés, comme si vous génériez un fichier PDF, vous pouvez utiliser l'en-tête » Content-Disposition pour fournir un nom de fichier par défaut, à afficher dans le dialogue de sauvegarde. Exemple #7 Utilisation de header() pour générer un fichier de type PDF ou d'un autre type
<?php
Voir aussi headers_sent(), setcookie() et la section sur l'identification HTTP . |