note 107261 added to function.http-response-code

From: Date: Wed, 25 Jan 2012 16:38:47 +0000
Subject: note 107261 added to function.http-response-code
Groups: php.notes 
Request: Send a blank email to php-notes+get-185742@lists.php.net to get a copy of this message
If your version of PHP does not include this function: <?php if (!function_exists('http_response_code')) { function http_response_code($code = NULL) { if ($code !== NULL) { switch ($code) { case 100: $text = 'Continue'; break; case 101: $text = 'Switching Protocols'; break; case 200: $text = 'OK'; break; case 201: $text = 'Created'; break; case 202: $text = 'Accepted'; break; case 203: $text = 'Non-Authoritative Information'; break; case 204: $text = 'No Content'; break; case 205: $text = 'Reset Content'; break; case 206: $text = 'Partial Content'; break; case 300: $text = 'Multiple Choices'; break; case 301: $text = 'Moved Permanently'; break; case 302: $text = 'Moved Temporarily'; break; case 303: $text = 'See Other'; break; case 304: $text = 'Not Modified'; break; case 305: $text = 'Use Proxy'; break; case 400: $text = 'Bad Request'; break; case 401: $text = 'Unauthorized'; break; case 402: $text = 'Payment Required'; break; case 403: $text = 'Forbidden'; break; case 404: $text = 'Not Found'; break; case 405: $text = 'Method Not Allowed'; break; case 406: $text = 'Not Acceptable'; break; case 407: $text = 'Proxy Authentication Required'; break; case 408: $text = 'Request Time-out'; break; case 409: $text = 'Conflict'; break; case 410: $text = 'Gone'; break; case 411: $text = 'Length Required'; break; case 412: $text = 'Precondition Failed'; break; case 413: $text = 'Request Entity Too Large'; break; case 414: $text = 'Request-URI Too Large'; break; case 415: $text = 'Unsupported Media Type'; break; case 500: $text = 'Internal Server Error'; break; case 501: $text = 'Not Implemented'; break; case 502: $text = 'Bad Gateway'; break; case 503: $text = 'Service Unavailable'; break; case 504: $text = 'Gateway Time-out'; break; case 505: $text = 'HTTP Version not supported'; break; default: exit('Unknown http status code "' . htmlentities($code) . '"'); break; } $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0'); header($protocol . ' ' . $code . ' ' . $text); $GLOBALS['http_response_code'] = $code; } else { $code = (isset($GLOBALS['http_response_code']) ? $GLOBALS['http_response_code'] : 200); } return $code; } } ?> In this example I am using $GLOBALS, but you can use whatever storage mechanism you like... I don't think there is a way to return the current status code: https://bugs.php.net/bug.php?id=52555 For reference the error codes I got from PHP's source code: http://lxr.php.net/opengrok/xref/PHP_5_4/sapi/cgi/cgi_main.c#354 And how the current http header is sent, with the variables it uses: http://lxr.php.net/opengrok/xref/PHP_5_4/main/SAPI.c#856 ---- Server IP: 69.147.83.197 Probable Submitter: 92.27.98.57 ---- Manual Page -- http://www.php.net/manual/en/function.http-response-code.php Edit -- https://master.php.net/note/edit/107261 Del: integrated -- https://master.php.net/note/delete/107261/integrated Del: useless -- https://master.php.net/note/delete/107261/useless Del: bad code -- https://master.php.net/note/delete/107261/bad+code Del: spam -- https://master.php.net/note/delete/107261/spam Del: non-english -- https://master.php.net/note/delete/107261/non-english Del: in docs -- https://master.php.net/note/delete/107261/in+docs Del: other reasons-- https://master.php.net/note/delete/107261 Reject -- https://master.php.net/note/reject/107261 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#185742) next »