Maison > développement back-end > tutoriel php > Comment définir des codes de réponse HTTP personnalisés en PHP ?

Comment définir des codes de réponse HTTP personnalisés en PHP ?

Barbara Streisand
Libérer: 2024-12-15 12:18:09
original
251 Les gens l'ont consulté

How to Set Custom HTTP Response Codes in PHP?

Comment envoyer un code de réponse HTTP en PHP

L'envoi de codes de réponse HTTP à partir d'un script PHP est essentiel pour assurer une bonne communication avec le client. Cet article couvre trois méthodes pour envoyer des codes de réponse personnalisés.

PHP 4.0 : Assemblage manuel du code de réponse

La fonction header() vous permet de définir une ligne de réponse HTTP personnalisée, incluant le code de réponse HTTP. . Cependant, pour CGI PHP, vous devrez utiliser l'en-tête HTTP Status.

// Assembly manually
header("HTTP/1.1 200 OK");

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

PHP 4.3 : Troisième argument de la fonction d'en-tête

Pour éviter les problèmes d'analyse avec l'approche manuelle, vous pouvez utilisez le troisième argument de la fonction header(), qui permet de spécifier le code de réponse.

// Set the non-empty first argument to anything
header(':', true, 404);

// Use a custom header field name
header('X-PHP-Response-Code: 404', true, 404);
Copier après la connexion

PHP 5.4 : Fonction http_response_code()

PHP 5.4 a introduit la fonction dédiée http_response_code(), qui simplifie la tâche de définition des codes de réponse.

http_response_code(404);
Copier après la connexion

Fonction de compatibilité pour PHP 4.3

Pour les versions PHP inférieures à 5.4, une fonction de compatibilité peut être utilisée pour fournir le http_response_code() fonctionnalité.

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!

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