Maison > développement back-end > tutoriel php > Comment puis-je envoyer des messages d'état HTTP personnalisés en PHP ?

Comment puis-je envoyer des messages d'état HTTP personnalisés en PHP ?

Susan Sarandon
Libérer: 2024-12-29 18:40:10
original
156 Les gens l'ont consulté

How Can I Send Custom HTTP Status Messages in PHP?

Codes de réponse PHP : comment envoyer des messages d'état HTTP personnalisés

Introduction

Dans le Web applications, il est souvent nécessaire de communiquer des résultats spécifiques ou des messages d'erreur aux clients. Les codes de réponse HTTP nous permettent de transmettre ces informations à l'aide de codes numériques standardisés, tels que HTTP 200 OK ou 404 Not Found. PHP fournit plusieurs méthodes pour envoyer des codes de réponse HTTP personnalisés.

Méthode 1 : Assemblage de la ligne de réponse (PHP >= 4.0)

La fonction header() vous permet pour définir des lignes de réponse HTTP personnalisées, y compris le code d'état. Cependant, une gestion spéciale est requise pour (Fast)CGI PHP.

header("HTTP/1.1 200 OK");
Copier après la connexion

Pour (Fast)CGI PHP :

$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi')
    header("Status: 404 Not Found");
else
    header("HTTP/1.1 404 Not Found");
Copier après la connexion

Méthode 2 : 3ème argument de la fonction d'en-tête ( PHP >= 4.3)

Avec PHP 4.3 et versions ultérieures, le La fonction header() peut définir le code de réponse dans le troisième argument. Cependant, un premier argument non vide est requis. Deux options sont :

header(':', true, 404);
header('X-PHP-Response-Code: 404', true, 404);
Copier après la connexion

Méthode 3 : Fonction http_response_code (PHP >= 5.4)

PHP 5.4 a introduit la fonction http_response_code(), qui simplifie la processus :

http_response_code(404);
Copier après la connexion

Compatibilité

Sous PHP 5.4, vous pouvez utiliser la fonction de compatibilité suivante :

function http_response_code($newcode = NULL)
{
    static $code = 200;
    if($newcode !== NULL)
    {
        header('X-PHP-Response-Code: '.$newcode, true, $newcode);
        if(!headers_sent())
            $code = $newcode;
    }       
    return $code;
}
Copier après la connexion

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