Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich benutzerdefinierte HTTP-Statusmeldungen in PHP senden?

Wie kann ich benutzerdefinierte HTTP-Statusmeldungen in PHP senden?

Susan Sarandon
Freigeben: 2024-12-29 18:40:10
Original
202 Leute haben es durchsucht

How Can I Send Custom HTTP Status Messages in PHP?

PHP-Antwortcodes: So senden Sie benutzerdefinierte HTTP-Statusnachrichten

Einführung

Im Web Bei Anwendungen ist es oft notwendig, spezifische Ergebnisse oder Fehlermeldungen an Clients zu übermitteln. Mithilfe von HTTP-Antwortcodes können wir diese Informationen mithilfe standardisierter numerischer Codes übermitteln, z. B. HTTP 200 OK oder 404 Not Found. PHP bietet mehrere Methoden zum Senden benutzerdefinierter HTTP-Antwortcodes.

Methode 1: Zusammenstellen der Antwortzeile (PHP >= 4.0)

Die Funktion header() ermöglicht Ihnen um benutzerdefinierte HTTP-Antwortzeilen festzulegen, einschließlich des Statuscodes. Für (Fast)CGI PHP ist jedoch eine besondere Behandlung erforderlich.

header("HTTP/1.1 200 OK");
Nach dem Login kopieren

Für (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");
Nach dem Login kopieren

Methode 2: 3. Argument zur Header-Funktion ( PHP >= 4.3)

Mit PHP 4.3 und höher die Funktion header() kann den Antwortcode im dritten Argument festlegen. Allerdings ist ein nicht leeres erstes Argument erforderlich. Zwei Optionen sind:

header(':', true, 404);
header('X-PHP-Response-Code: 404', true, 404);
Nach dem Login kopieren

Methode 3: http_response_code-Funktion (PHP >= 5.4)

PHP 5.4 hat die http_response_code()-Funktion eingeführt, die die vereinfacht Prozess:

http_response_code(404);
Nach dem Login kopieren

Kompatibilität

Unter PHP 5.4 können Sie die folgende Kompatibilitätsfunktion verwenden:

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;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich benutzerdefinierte HTTP-Statusmeldungen in PHP senden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage