Heim >Backend-Entwicklung >PHP-Tutorial >Wie lege ich benutzerdefinierte HTTP-Antwortcodes in PHP fest?

Wie lege ich benutzerdefinierte HTTP-Antwortcodes in PHP fest?

Barbara Streisand
Barbara StreisandOriginal
2024-12-15 12:18:09155Durchsuche

How to Set Custom HTTP Response Codes in PHP?

So senden Sie einen HTTP-Antwortcode in PHP

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.

PHP 4.0: Manuelle Antwortcode-Assemblierung

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

PHP 4.3: Drittes Argument der Header-Funktion

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 : http_response_code()-Funktion

PHP 5.4 führte die dedizierte http_response_code()-Funktion ein, die das Festlegen von Antwortcodes vereinfacht.

http_response_code(404);

Kompatibilitätsfunktion für PHP 4.3

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn