製作404錯誤頁面,並能寄信給管理員

WBOY
發布: 2016-08-08 09:33:46
原創
719 人瀏覽過

# 設定 $domain 為你的網域 (注意沒有www)
$domain = "oso.com.cn";
# 設定URL,注意沒有後劃線 /
$docroot = "http://www.oso.com.cn";
# 設定錯誤訊息的字體
$fontface = "Verdana";
# 設定404頁面的字體大小
$fontsize = "2";
# 設定404頁面的背景顏色,缺省是白色
$bgcolor = "#ffffff";
# 設定文字顏色,缺省是黑色
$textcolor = "#000000";

# 使用 $reportlevel 變數來控制是否寄信給網管
# 0 = 根本不用發信,嘿,teaman怎麼會出錯呢
# 1 = 只有在頁麵含有你的DOMAIN NAME時才發信
# 2 = 即使是與我連結出現的斷連也發信,有可能是友情站點
$reportlevel = 2;  //這種最保險了

$emailaddress = "webmaster@oso.com.cn"; //設定收錯誤訊息的郵件信箱


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 "404 沒有找到頁";
   echo "";
   echo "

404 對不起,我沒有找到您要求的頁面

";
   echo "

";
   echo "奧索網管提醒您,您要求的頁面 $docroot$REQUEST_URI, doesn't exist";
   echo " on this server.

";

   if ($reportlevel != 0)
     {
      echo "

";
      echo "錯誤訊息已傳送到奧索網管手中.";    
     }

   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;

?>

以上就介紹了製作404錯誤頁面,並能發信給管理員,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!