Maison >développement back-end >tutoriel php >Analyse du rôle de la fonction header en php

Analyse du rôle de la fonction header en php

黄舟
黄舟original
2017-11-10 16:16:251848parcourir

Dans notre article précédent, nous vous avons présenté la définition de l'en-tête Lorsque de nombreuses personnes verront le titre, elles se demanderont si elles l'ont déjà présenté aux clients. envoyer des en-têtes HTTP bruts ? Est-ce vraiment le cas ? Aujourd’hui nous allons vous montrer quelles sont les fonctions de la fonction header en php ?

Regardez d'abord la définition dans le document officiel

(PHP 4, PHP 5, PHP 7)

en-tête — Envoyer l'en-tête HTTP natif

1 void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

Paramètres :

 chaîne

Il y a deux têtes spéciales. Le premier commençant par "HTTP/" (la casse n'est pas significative) servira à calculer le Code d'état HTTP à envoyer. Par exemple, si vous utilisez un script PHP sur le serveur Apache pour gérer les requêtes de fichiers inexistants (en utilisant la directive ErrorDocument), vous espérerez que le script réponde avec la code d'état correct.

1 <?php
2 header("HTTP/1.0 404 Not Found");
3 ?>

Le deuxième cas particulier est l'information d'en-tête "Emplacement :". Il envoie non seulement le message au navigateur, mais renvoie également un code d'état REDIRECT (302) au navigateur, sauf si le code d'état a été défini sur 201 ou 3xx .

1 <?php
2 header("Location: http://www.example.com/"); /* Redirect browser */
3 
4 /* Make sure that code below does not get executed when we redirect. */
5 exit;
6 ?>
  •  <code class="parameter">  <span style="font-family: Microsoft YaHei">replace</span>remplacer

  • Le paramètre facultatif replace indique s'il faut remplacer l'en-tête précédent du même type par l'en-tête suivant. Remplacé par défaut. Si vous passez FALSE, vous pouvez forcer la coexistence des mêmes informations d'en-tête. Par exemple :

1 <?php
2 header(&#39;WWW-Authenticate: Negotiate&#39;);
3 header(&#39;WWW-Authenticate: NTLM&#39;, false);
4 ?>

http_response_code

Spécifier de force la valeur du HTTP réponse. Notez que ce paramètre n'est valide que lorsque la chaîne du message string () n'est pas vide.

Les utilisations courantes de la fonction header sont les suivantes :


1. Redirection

header(&#39;Location: http://www.example.com/&#39;);

2. Contenu spécifié :

header(&#39;Content-type: application/pdf&#39;);

3. Pièce jointe :

header(&#39;Content-type: application/pdf&#39;);
    //指定内容为附件,指定下载显示的名字
    header('Content-Disposition: attachment; filename="downloaded.pdf"');
    //打开文件,并输出
    readfile('original.pdf')

Le code ci-dessus peut produire l'effet d'une boîte de dialogue de fichier dans le navigateur

4. Permettre aux utilisateurs d'obtenir les dernières informations et données au lieu de la mise en cache

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");   // 设置临界时间

Exemple détaillé

Résumé :

Après avoir lu cet article, je pense que vous connaissez tous le rôle de la fonction header en php. J'espère qu'elle vous sera utile dans votre travail !

Recommandations associées :

Explication détaillée de la définition de l'en-tête en php


Explication sur la façon d'utiliser la fonction d'en-tête PHP


Analyse et solutions aux causes de l'échec de l'en-tête PHP


Analyse détaillée du saut d'en-tête PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn