• 网站出现404页面邮件通知管理员
    时间:2009-07-03   作者:佚名   出处:互联网

    如果访问您站点的用户由于各种原因暂时出现无法访问页面的错误,如何给他一个友好的答复,并且你也知道发生了这个错误,看看下面这段程序,是用来定制404错误页面和发通知给网管。

    以下为引用的内容:
               

    <?php
    # 设置 $domain 为你的域名 (注意没有www)
    $domain = "oncoding.net";
    # 设置URL,注意没有后划线 /
    $docroot = "http://oncoding.net";
    # 设置错误信息的字体
    $fontface = "Verdana";
    # 设置404页面的字体大小
    $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;
       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;

    ?>

    网友留言/评论

    我要留言/评论