HTTP Status Codes in PHP; http header response code function

Content

Output your desired HTTP status code using the status code and the header() function.

function HTTPStatus($num) {     $http = array(         100 => 'HTTP/1.1 100 Continue',         101 => 'HTTP/1.1 101 Switching Protocols',         200 => 'HTTP/1.1 200 OK',         201 => 'HTTP/1.1 201 Created',         202 => 'HTTP/1.1 202 Accepted',         203 => 'HTTP/1.1 203 Non-Authoritative Information',         204 => 'HTTP/1.1 204 No Content',         205 => 'HTTP/1.1 205 Reset Content',         206 => 'HTTP/1.1 206 Partial Content',         300 => 'HTTP/1.1 300 Multiple Choices',         301 => 'HTTP/1.1 301 Moved Permanently',         302 => 'HTTP/1.1 302 Found',         303 => 'HTTP/1.1 303 See Other',         304 => 'HTTP/1.1 304 Not Modified',         305 => 'HTTP/1.1 305 Use Proxy',         307 => 'HTTP/1.1 307 Temporary Redirect',         400 => 'HTTP/1.1 400 Bad Request',         401 => 'HTTP/1.1 401 Unauthorized',         402 => 'HTTP/1.1 402 Payment Required',         403 => 'HTTP/1.1 403 Forbidden',         404 => 'HTTP/1.1 404 Not Found',         405 => 'HTTP/1.1 405 Method Not Allowed',         406 => 'HTTP/1.1 406 Not Acceptable',         407 => 'HTTP/1.1 407 Proxy Authentication Required',         408 => 'HTTP/1.1 408 Request Time-out',         409 => 'HTTP/1.1 409 Conflict',         410 => 'HTTP/1.1 410 Gone',         411 => 'HTTP/1.1 411 Length Required',         412 => 'HTTP/1.1 412 Precondition Failed',         413 => 'HTTP/1.1 413 Request Entity Too Large',         414 => 'HTTP/1.1 414 Request-URI Too Large',         415 => 'HTTP/1.1 415 Unsupported Media Type',         416 => 'HTTP/1.1 416 Requested Range Not Satisfiable',         417 => 'HTTP/1.1 417 Expectation Failed',         500 => 'HTTP/1.1 500 Internal Server Error',         501 => 'HTTP/1.1 501 Not Implemented',         502 => 'HTTP/1.1 502 Bad Gateway',         503 => 'HTTP/1.1 503 Service Unavailable',         504 => 'HTTP/1.1 504 Gateway Time-out',         505 => 'HTTP/1.1 505 HTTP Version Not Supported',     );       header($http[$num]);       return array(         'code' => $num,         'error' => $http[$num],     ); }
Posted . Did this help you? Please let me know with a comment. Thank you

Comments (RSS)

  1. anonymous

    Very nice post, good luck! ;-)

  2. anonymous

    Hi,

    I think you should actually test to see if the SERVER_PROTOCOL is 1.0 or 1.1. I think the code should be like this:

    function HTTPStatus($num) {

        $http_protocol = "HTTP/1.0";

        if(isset($_SERVER['SERVER_PROTOCOL']) && stripos($_SERVER['SERVER_PROTOCOL'],"HTTP") >= 0){

            $http_protocol = $_SERVER['SERVER_PROTOCOL'];

        }

        $http = array(

            100 => $http_protocol . ' 100 Continue',

            101 => $http_protocol . ' 101 Switching Protocols',

            200 => $http_protocol . ' 200 OK',

            201 => $http_protocol . ' 201 Created',

            202 => $http_protocol . ' 202 Accepted',

            203 => $http_protocol . ' 203 Non-Authoritative Information',

            204 => $http_protocol . ' 204 No Content',

            205 => $http_protocol . ' 205 Reset Content',

            206 => $http_protocol . ' 206 Partial Content',

            300 => $http_protocol . ' 300 Multiple Choices',

            301 => $http_protocol . ' 301 Moved Permanently',

            302 => $http_protocol . ' 302 Found',

            303 => $http_protocol . ' 303 See Other',

            304 => $http_protocol . ' 304 Not Modified',

            305 => $http_protocol . ' 305 Use Proxy',

            307 => $http_protocol . ' 307 Temporary Redirect',

            400 => $http_protocol . ' 400 Bad Request',

            401 => $http_protocol . ' 401 Unauthorized',

            402 => $http_protocol . ' 402 Payment Required',

            403 => $http_protocol . ' 403 Forbidden',

            404 => $http_protocol . ' 404 Not Found',

            405 => $http_protocol . ' 405 Method Not Allowed',

            406 => $http_protocol . ' 406 Not Acceptable',

            407 => $http_protocol . ' 407 Proxy Authentication Required',

            408 => $http_protocol . ' 408 Request Time-out',

            409 => $http_protocol . ' 409 Conflict',

            410 => $http_protocol . ' 410 Gone',

            411 => $http_protocol . ' 411 Length Required',

            412 => $http_protocol . ' 412 Precondition Failed',

            413 => $http_protocol . ' 413 Request Entity Too Large',

            414 => $http_protocol . ' 414 Request-URI Too Large',

            415 => $http_protocol . ' 415 Unsupported Media Type',

            416 => $http_protocol . ' 416 Requested Range Not Satisfiable',

            417 => $http_protocol . ' 417 Expectation Failed',

            500 => $http_protocol . ' 500 Internal Server Error',

            501 => $http_protocol . ' 501 Not Implemented',

            502 => $http_protocol . ' 502 Bad Gateway',

            503 => $http_protocol . ' 503 Service Unavailable',

            504 => $http_protocol . ' 504 Gateway Time-out',

            505 => $http_protocol . ' 505 HTTP Version Not Supported',

        );

        header($http[$num]);

        return

            array(

                'code' => $num,

                'error' => $http[$num],

            );

    }

    Cheers,

    Thusjanthan Kubendranathan