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");
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");
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);
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);
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; }
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!