Maison > développement back-end > tutoriel php > Comment puis-je accéder à n'importe quel en-tête de requête HTTP en PHP ?

Comment puis-je accéder à n'importe quel en-tête de requête HTTP en PHP ?

Susan Sarandon
Libérer: 2024-12-14 14:43:10
original
287 Les gens l'ont consulté

How Can I Access Any HTTP Request Header in PHP?

Comment lire n'importe quel en-tête de requête 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'];
?>
Copier après la connexion

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

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

Fonctions supplémentaires :

  • getallheaders() (PHP 5.4 ) : Alias ​​de apache_request_headers().
  • apache_response_headers() : récupère tous les en-têtes de réponse HTTP.
  • headers_list() : récupère une liste d'en-têtes à envoyer.

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