php 404错误页面实现代码

复制代码 代码如下:

  <?php

  # 设置 $domain 为你的域名 (注意没有www)

  $domain = "glzy8.com";

  # 设置URL,注意没有后划线 /

  $docroot = "http://glzy8.com";

  # 设置错误信息的字体

  $fontface = "Verdana";

  # 设置404页面的字体大小

  $fontsize = "2";

  # 设置404页面的背景颜色,缺省是白色

  $bgcolor = "#ffffff";

  # 设置文字颜色,缺省是黑色

  $textcolor = "#000000";

  # 使用 $reportlevel 变量来控制是否发信给网管

  # 0 = 根本不用发信,嘿,NB的我们怎么会出错呢

  # 1 = 只有在页面含有你的DOMAIN NAME时才发信

  # 2 = 即使是与我连接出现的断连也发信,有可能是友情站点

  $reportlevel = 2; //这种最保险了

  $emailaddress = "[email protected]"; //设置收错误信息的邮箱

  function print_details()

  {

  # Request access to the global variables we need

  global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel;

  global $bgcolor, $textcolor;

  # Print the 404 error in web format

  echo "<html><head><title>404 没有找到页面</title></head>";

  echo "<body bgcolor="$bgcolor" text="$textcolor">";

  echo "<b><h1>404 对不起,我没有找到您要求的页面</h1></b>";

  echo "<p><font face="$fontface" size="$fontsize">";

  echo "oncoding编码营提醒您,您要求的页面 $docroot$REQUEST_URI, doesn't exist";

  echo " on this server.</font></p>";

  if ($reportlevel != 0)

  {

  echo "<p><font face="$fontface" size="$fontsize">";

  echo "错误信息已经发送到oncoding编码营管理员信箱.";

  }

  return;

  }

  # EMAIL处理函数

  function send_email()

  {

  # Request access to the global variables we need

  global $REQUEST_URI, $HTTP_REFERER, $emailaddress, $REMOTE_ADDR, $docroot;

  # 定制发送的消息,如时间地点等.

  $today = getdate();

  $month = $today[mon];

  $mday = $today[mday];

  $year = $today[year];

  $hours = $today[hours];

  $minutes = $today[minutes];

  $errortime = "$month/$mday/$year at $hours:$minutes";

  # Create the body of the email message

  $message .= "404 Error ReportnnA 404 error was encountered by $REMOTE_ADDR";

  $message .= " on $errortime.nn";

  $message .= "The URI which generated the error is: n$docroot$REQUEST_URInn";

  $message .= "The referring page was:n$HTTP_REFERERnn";

  # Send the mail message. This assumes mail() will work on your system!

  mail("$emailaddress", "404 Error Report", $message, "From: $emailaddress"); //发送信息

  return;

  }

  # 下面这些是根据变量$reportlevel的设置来发信与否。

  print_details();

  # See whether or not we should send an email report. If so, do it.

  if ($reportlevel != 0)

  if ($reportlevel == 1) {

  if (eregi($domain,$HTTP_REFERER))

  send_email(); }

  else

  send_email();

  # All done!

  exit;

  ?>