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
165 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!

source:php.cn
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