当前位置: 我爱LAMP > Linux, PHP > 文章正文

用php定制404错误页面 并发信通知管理员

发表于 2009-06-30 10:21    文章来源:互联网

如果访问您站点的用户由于各种原因暂时出现无法访问页面的错误,如何给他一个友好的答复,并且你也知道发生了这个错误,看看下面这段程序,是用来定制404错误页面和发通知给网管。
个人感觉这个功能其实用处不大,404是未找到页面错误.做一些补助功能还是可以有,有兴趣的朋友可以看一下,

以下为引用的内容:<?php
# 设置 $domain 为你的域名 (注意没有www)
$domain = “oncoding.net”;
# 设置URL,注意没有后划线 /
$docroot = “http://oncoding.net“;
# 设置错误信息的字体
$fontface = “Verdana”;
# 设置404页面的字体大小
phperz.com
$fontsize = “2″;
# 设置404页面的背景颜色,缺省是白色
$bgcolor = “#ffffff”;
# 设置文字颜色,缺省是黑色
$textcolor = “#000000″;
# 使用 $reportlevel 变量来控制是否发信给网管
# 0 = 根本不用发信,嘿,NB的我们怎么会出错呢
# 1 = 只有在页面含有你的DOMAIN NAME时才发信
# 2 = 即使是与我连接出现的断连也发信,有可能是友情站点
$reportlevel = 2;  //这种最保险了
 

 
 

$emailaddress = “webmaster@oncoding.net“; //设置收错误信息的邮箱
 

 
 

function print_details()
  {
   # Request access to the global variables we need
   global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel;
 

phperz.com
   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”>”; phperz.com
      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”;  php程序员站
   # 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. php程序员站
if ($reportlevel != 0)                  
  if ($reportlevel == 1) {              
    if (eregi($domain,$HTTP_REFERER))   
      send_email(); }
  else
     send_email();                       
# All done!
exit;

?>

 

 
 

如果访问您站点的用户由于各种原因暂时出现无法访问页面的错误,如何给他一个友好的答复,并且你也知道发生了这个错误,看看下面这段程序,是用来定制404错误页面和发通知给网管。
个人感觉这个功能其实用处不大,404是未找到页面错误.做一些补助功能还是可以有,有兴趣的朋友可以看一下,

以下为引用的内容:<?php
# 设置 $domain 为你的域名 (注意没有www)
$domain = “oncoding.net”;
# 设置URL,注意没有后划线 /
$docroot = “http://oncoding.net“;
# 设置错误信息的字体
$fontface = “Verdana”;
# 设置404页面的字体大小
phperz.com
$fontsize = “2″;
# 设置404页面的背景颜色,缺省是白色
$bgcolor = “#ffffff”;
# 设置文字颜色,缺省是黑色
$textcolor = “#000000″;
# 使用 $reportlevel 变量来控制是否发信给网管
# 0 = 根本不用发信,嘿,NB的我们怎么会出错呢
# 1 = 只有在页面含有你的DOMAIN NAME时才发信
# 2 = 即使是与我连接出现的断连也发信,有可能是友情站点
$reportlevel = 2;  //这种最保险了
 

 
 

$emailaddress = “webmaster@oncoding.net“; //设置收错误信息的邮箱
 

 
 

function print_details()
  {
   # Request access to the global variables we need
   global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel;
 

phperz.com
   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”>”; phperz.com
      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”; 
 
 

 

php程序员站

   # 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. php程序员站
if ($reportlevel != 0)                  
  if ($reportlevel == 1) {              
    if (eregi($domain,$HTTP_REFERER))   
      send_email(); }
  else
     send_email();                       
# All done!
exit;

?>

本文链接: http://www.52lamp.com.cn/detail/627.html

喜欢我爱LAMP – lamp开发程序交流学习平台的文章,那就通过 RSS Feed 功能订阅阅读吧!