ホームページ >バックエンド開発 >PHPチュートリアル >PHP でカスタム HTTP 応答コードを設定するにはどうすればよいですか?

PHP でカスタム HTTP 応答コードを設定するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-15 12:18:09155ブラウズ

How to Set Custom HTTP Response Codes in PHP?

PHP で HTTP 応答コードを送信する方法

PHP スクリプトから HTTP 応答コードを送信することは、クライアントと適切な通信を提供するために不可欠です。この記事では、カスタム応答コードを送信するための 3 つの方法について説明します。

PHP 4.0 : 手動応答コード アセンブリ

header() 関数を使用すると、HTTP 応答コードを含むカスタム HTTP 応答行を定義できます。 。ただし、CGI PHP の場合は、Status HTTP ヘッダーを使用する必要があります。

// 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 : Header Function's Third Argument

手動アプローチによる解析の問題を回避するには、次のようにします。 header() 関数の 3 番目の引数を使用すると、応答を指定できます。 code.

// 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() 関数

PHP 5.4 では、応答コードを設定するタスクを簡略化する専用の http_response_code() 関数が導入されました。

http_response_code(404);

PHP 4.3の互換機能

PHP バージョン 5.4 より前の場合、互換関数を使用して http_response_code() 機能を提供できます。

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;
}

以上がPHP でカスタム HTTP 応答コードを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。