php 404错误页面实现代码

 更新时间:2009年06月22日 00:49:39   作者:  
如果访问您站点的用户由于各种原因暂时出现无法访问页面的错误,如何给他一个友好的答复,并且你也知道发生了这个错误,看看下面这段程序,是用来定制404错误页面和发通知给网管。
复制代码 代码如下:

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

相关文章

  • Laravel中错误与异常处理的用法示例

    Laravel中错误与异常处理的用法示例

    异常抛出在开发中错误处理是非常重要的,下面这篇文章主要给大家介绍了关于Laravel中错误与异常处理用法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-09-09
  • php获取目录下所有文件及目录(多种方法)(推荐)

    php获取目录下所有文件及目录(多种方法)(推荐)

    这篇文章主要介绍了php获取目录下所有文件及目录多种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • thinkphp5 操作redis 实现文章的热度排行和点赞排行的示例

    thinkphp5 操作redis 实现文章的热度排行和点赞排行的示例

    本文主要介绍了thinkphp5 操作redis 实现文章的热度排行和点赞排行的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • PHP5.4起内置web服务器使用方法

    PHP5.4起内置web服务器使用方法

    这篇文章主要为大家详细介绍了PHP5.4内置web服务器,内置的Web服务器只是提供开发测试使用,不推荐使用中生产环境中,具体内容请阅读下文
    2016-08-08
  • 基于PHP后台的Android新闻浏览客户端

    基于PHP后台的Android新闻浏览客户端

    这篇文章主要为大家详细介绍了基于PHP后台的Android新闻浏览客户端,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 如何使用PHP给图片加水印

    如何使用PHP给图片加水印

    这篇文章主要介绍了使用PHP给图片加水印,感兴趣的码农可以参考一下本文章的源代码。
    2016-10-10
  • TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例

    TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例

    这篇文章主要介绍了TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法,结合实例形式分析了thinkPHP5框架结合bootstrap实现图片上传相关布局与控制器操作技巧,需要的朋友可以参考下
    2019-05-05
  • php车辆违章查询数据示例

    php车辆违章查询数据示例

    聚合数据全国车辆违章数据接口,目前已经支持300个左右的城市违章查询,已连接上万个APP。本文介绍了php车辆违章查询数据示例,有需要的朋友可以来看一下。
    2016-10-10
  • thinkphp多层MVC用法分析

    thinkphp多层MVC用法分析

    这篇文章主要介绍了thinkphp多层MVC用法,结合实例分析了thinkPHP中多层MVC的具体原理与相关使用技巧,需要的朋友可以参考下
    2015-12-12
  • php中计算程序运行时间的类代码

    php中计算程序运行时间的类代码

    一个用来技术你程序运行时间的php类,有需要的朋友可参考一下
    2012-11-11

最新评论