Maison > développement back-end > tutoriel php > Comment puis-je accéder aux en-têtes de requête en PHP ?

Comment puis-je accéder aux en-têtes de requête en PHP ?

Linda Hamilton
Libérer: 2024-12-09 09:02:07
original
773 Les gens l'ont consulté

How Can I Access Request Headers in PHP?

Accès aux en-têtes de requête en PHP

Récupérer des en-têtes de requête spécifiques ou tous est une tâche courante dans le développement PHP. Voici les différentes approches que vous pouvez utiliser :

Récupération d'en-tête unique (module Apache ou FastCGI)

Si vous n'avez besoin que d'un en-tête particulier, le moyen le plus efficace est de accédez-y directement en utilisant le nom de l'en-tête HTTP comme clé dans le tableau $_SERVER. Remplacez XXXXXX_XXXX par le nom de l'en-tête en majuscule (les traits d'union étant remplacés par des traits de soulignement).

// Retrieve the "X-Requested-With" header value
$headerValue = $_SERVER['HTTP_X_REQUESTED_WITH'];
Copier après la connexion

Récupération de tous les en-têtes

Module Apache ou FastCGI (méthode simple )

La fonction apache_request_headers() permet d'accéder à tous les en-têtes de requête.

$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
Copier après la connexion

Tous les autres cas (implémentation de Userland)

Dans les cas où apache_request_headers() n'est pas disponible, vous pouvez utiliser une fonction personnalisée pour extraire les en-têtes du tableau $_SERVER.

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";
}
Copier après la connexion

Supplémentaire Ressources :

  • getallheaders() (PHP >= 5.4) : une alternative à apache_request_headers() qui fonctionne sur plusieurs plates-formes.
  • apache_response_headers() : récupère la réponse HTTP headers.
  • headers_list() : répertorie les en-têtes à envoyer dans le réponse.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal