当前位置:Gxlcms > PHP教程 > 用php定制404错误页面并发信通知管理员_PHP

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

时间:2021-07-01 10:21:17 帮助过:17人阅读

404页面

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

以下为引用的内容:

# 设置 $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 "404 </span>没有找到页面<span lang="EN-US">";
echo "";
echo "

404 对不起,我没有找到您要求的页面

";
echo "

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

";

if ($reportlevel != 0)
{
echo "

";
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;

?>

人气教程排行