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