Heim >Backend-Entwicklung >PHP-Tutorial >Wie lege ich benutzerdefinierte HTTP-Antwortcodes in PHP fest?
Das Senden von HTTP-Antwortcodes aus einem PHP-Skript ist für die ordnungsgemäße Kommunikation mit dem Client unerlässlich. Dieser Artikel behandelt drei Methoden zum Senden benutzerdefinierter Antwortcodes.
Mit der Funktion header() können Sie eine benutzerdefinierte HTTP-Antwortzeile einschließlich des HTTP-Antwortcodes definieren . Für CGI-PHP müssen Sie jedoch den Status-HTTP-Header verwenden.
// 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");
Um Parsing-Probleme mit dem manuellen Ansatz zu vermeiden, können Sie dies tun Verwenden Sie das dritte Argument der Funktion header(), mit dem Sie den Antwortcode angeben können.
// 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 führte die dedizierte http_response_code()-Funktion ein, die das Festlegen von Antwortcodes vereinfacht.
http_response_code(404);
Für PHP-Versionen unter 5.4 kann eine Kompatibilitätsfunktion zur Bereitstellung verwendet werden http_response_code()-Funktionalität.
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; }
Das obige ist der detaillierte Inhalt vonWie lege ich benutzerdefinierte HTTP-Antwortcodes in PHP fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!