Maison >développement back-end >tutoriel php >Comment puis-je accéder à n'importe quel en-tête de requête HTTP en PHP ?
Problème :
Comment pouvez-vous accéder à n'importe quel en-tête HTTP, y compris personnalisé en-têtes, dans PHP ?
Réponse :
Il existe plusieurs méthodes pour lire les en-têtes de requête en PHP, en fonction de vos besoins spécifiques :
En-tête unique Récupération :
Si vous n'avez besoin de récupérer qu'une seule valeur d'en-tête, utilisez ce qui suit syntaxe :
<?php // Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE (and with '-' replaced by '_') $headerStringValue = $_SERVER['HTTP_XXXXXX_XXXX']; ?>
Module Apache ou FastCGI (PHP 5.4) :
Si PHP s'exécute en tant que module Apache ou utilise FastCGI avec PHP 5.4 ou version ultérieure, vous peut utiliser la fonction apache_request_headers() :
<?php $headers = apache_request_headers(); foreach ($headers as $header => $value) { echo "$header: $value <br />\n"; } ?>
Fallback Méthode :
Dans tous les autres cas, vous pouvez utiliser l'implémentation userland suivante :
<?php function getRequestHeaders() { $headers = array(); foreach($_SERVER as $key => $value) { if (substr($key, 0, 5) != 'HTTP_') { continue; } $header = str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5))))); $headers[$header] = $value; } return $headers; } $headers = getRequestHeaders(); foreach ($headers as $header => $value) { echo "$header: $value <br />\n"; } ?>
Fonctions supplémentaires :
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!