请选择 进入手机版 | 继续访问电脑版

淘码站

 找回密码
 立即注册
搜索

php输出返回404状态码

[复制链接]
阿宝 发表于 2020-9-24 16:34:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
1. 通过header()方法来实现返回404状态码
   最简单的方法,而且对php的版本没什么限制

  1. header('HTTP/1.1 404 Not Found');
  2. header("status: 404 Not Found");
复制代码

当服务器设置了404页面后,访问该php就会自动返回404状态及404页面。


2. 使用http_response_code()方法
     如果你的php版本大于5.4的话,可以使用这个新增的方法

  1. http_response_code(404);
复制代码


注意:如果你的版本低于5.4,但是你又非得使用http_response_code(),下面是这个方法的代码
  1. <?php

  2.     if (!function_exists('http_response_code')) {
  3.         function http_response_code($code = NULL) {

  4.             if ($code !== NULL) {

  5.                 switch ($code) {
  6.                     case 100: $text = 'Continue'; break;
  7.                     case 101: $text = 'Switching Protocols'; break;
  8.                     case 200: $text = 'OK'; break;
  9.                     case 201: $text = 'Created'; break;
  10.                     case 202: $text = 'Accepted'; break;
  11.                     case 203: $text = 'Non-Authoritative Information'; break;
  12.                     case 204: $text = 'No Content'; break;
  13.                     case 205: $text = 'Reset Content'; break;
  14.                     case 206: $text = 'Partial Content'; break;
  15.                     case 300: $text = 'Multiple Choices'; break;
  16.                     case 301: $text = 'Moved Permanently'; break;
  17.                     case 302: $text = 'Moved Temporarily'; break;
  18.                     case 303: $text = 'See Other'; break;
  19.                     case 304: $text = 'Not Modified'; break;
  20.                     case 305: $text = 'Use Proxy'; break;
  21.                     case 400: $text = 'Bad Request'; break;
  22.                     case 401: $text = 'Unauthorized'; break;
  23.                     case 402: $text = 'Payment Required'; break;
  24.                     case 403: $text = 'Forbidden'; break;
  25.                     case 404: $text = 'Not Found'; break;
  26.                     case 405: $text = 'Method Not Allowed'; break;
  27.                     case 406: $text = 'Not Acceptable'; break;
  28.                     case 407: $text = 'Proxy Authentication Required'; break;
  29.                     case 408: $text = 'Request Time-out'; break;
  30.                     case 409: $text = 'Conflict'; break;
  31.                     case 410: $text = 'Gone'; break;
  32.                     case 411: $text = 'Length Required'; break;
  33.                     case 412: $text = 'Precondition Failed'; break;
  34.                     case 413: $text = 'Request Entity Too Large'; break;
  35.                     case 414: $text = 'Request-URI Too Large'; break;
  36.                     case 415: $text = 'Unsupported Media Type'; break;
  37.                     case 500: $text = 'Internal Server Error'; break;
  38.                     case 501: $text = 'Not Implemented'; break;
  39.                     case 502: $text = 'Bad Gateway'; break;
  40.                     case 503: $text = 'Service Unavailable'; break;
  41.                     case 504: $text = 'Gateway Time-out'; break;
  42.                     case 505: $text = 'HTTP Version not supported'; break;
  43.                     default:
  44.                         exit('Unknown http status code "' . htmlentities($code) . '"');
  45.                     break;
  46.                 }

  47.                 $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0');

  48.                 header($protocol . ' ' . $code . ' ' . $text);

  49.                 $GLOBALS['http_response_code'] = $code;

  50.             } else {

  51.                 $code = (isset($GLOBALS['http_response_code']) ? $GLOBALS['http_response_code'] : 200);

  52.             }

  53.             return $code;

  54.         }
  55.     }

  56. ?>
复制代码







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|淘码站 ( 冀ICP备10006923号-17 )

GMT+8, 2020-10-27 16:27

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表