En-tête signifie en-tête. Il s'agit d'une fonction http intégrée à PHP, qui est utilisée pour envoyer l'en-tête HTTP d'origine au client. Sa syntaxe d'utilisation est "header(string,replace,http_response_code)" ; paramètre chaîne Spécifie la chaîne d'en-tête à envoyer. Les en-têtes sont couramment utilisés pour avertir le navigateur que la page n'existe pas, retarder la redirection, indiquer le type de contenu, déclarer les fichiers téléchargés, désactiver la mise en cache du document en cours, afficher une boîte de dialogue de connexion nécessitant une vérification, etc.
L'environnement d'exploitation de cet article : système Windows7, version PHP8, ordinateur DELL G3
en-tête signifie en-tête.
La fonction php header() envoie l'en-tête HTTP d'origine au client Elle est souvent utilisée pour notifier au navigateur que la page n'existe pas, retarder la redirection, indiquer le contenu. tapez, déclarez les fichiers téléchargés et désactivez la mise en cache pour le document actuel, affichez une boîte de dialogue de connexion nécessitant une authentification, etc.
La fonction header est généralement déclarée dans les paramètres :
header('HTTP/1.1 200 OK'); // ok 正常访问 header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在 header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301 header('Location: http://www.ithhc.cn/'); //跳转到一个新的地址 header('Refresh: 10; url=http://www.ithhc.cn/'); //延迟转向 也就是隔几秒跳转 header('X-Powered-By: PHP/6.0.0'); //修改 X-Powered-By信息 header('Content-language: en'); //文档语言 header('Content-Length: 1234'); //设置内容长度 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器最后一次修改时间 header('HTTP/1.1 304 Not Modified'); //告诉浏览器文档内容没有发生改变
Il est important de réaliser que la fonction header() doit être appelée avant qu'une sortie réelle ne soit envoyée (en PHP 4 et versions supérieures, vous pouvez utiliser la mise en cache de sortie pour résoudre ce problème) :
<html> <?php // 结果出错 // 在调用 header() 之前已存在输出 header('Location: http://www.example.com/'); ?>
Syntaxe
header(string,replace,http_response_code)
Paramètres
chaîne Obligatoire. Spécifie la chaîne d'en-tête à envoyer.
remplacer
Facultatif. Indique si cet en-tête remplace l'en-tête précédent ou ajoute un deuxième en-tête.
La valeur par défaut est vraie (remplacement). false (autoriser plusieurs en-têtes du même type).
http_response_code Facultatif. Force le code de réponse HTTP à la valeur spécifiée. (Disponible en PHP 4 et supérieur)
Remarque : depuis PHP 4.4, cette fonction empêche l'envoi de plusieurs en-têtes en même temps. Il s'agit d'une mesure de protection contre les attaques par injection d'en-tête.
Exemple
Exemple 1
<?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> ... ...
Remarque : l'utilisateur peut définir certaines options pour modifier les paramètres de cache par défaut du navigateur. En envoyant l'en-tête ci-dessus, vous pouvez remplacer n'importe lequel de ces paramètres et forcer le navigateur à ne pas mettre en cache !
Exemple 2
Invite l'utilisateur à enregistrer 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 une boîte de dialogue d'enregistrement) :
<?php header("Content-type:application/pdf"); // 文件将被称为 downloaded.pdf header("Content-Disposition:attachment;filename='downloaded.pdf'"); // PDF 源在 original.pdf 中 readfile("original.pdf"); ?> <html> <body> ... ...
Remarque : Microsoft IE 5.5 présente un bug qui empêche le mécanisme ci-dessus. Ce bogue peut être résolu en effectuant une mise à niveau vers le Service Pack 2 ou une version ultérieure.
[Apprentissage recommandé : "Tutoriel vidéo 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!