• 技术文章 >php教程 >php手册

    定制404错误页面,并发信给管理员的程序_php基础

    2016-05-17 09:06:06原创509
    如果您的用户找不到他要的页面,如何给他一个友好的答复,并且你也知道发生了这个错误呢,看看下面这段程序,是用来定制404错误页面和发通知给网管的好东西。---teaman翻译整理

    # 设置 $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;

    ?>

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:一个没有MYSQL数据库支持的简易留言本的编写_php基础 下一篇:用PHP和ACCESS写聊天室(十)_php基础
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 一个odbc连mssql分页的类_php基础• Beginning PHP, Apache, MySQL web development• php后台多用户权限组思路与实现程序代码分享• phpcms定时发布文章解决办法• Joomla中的Task 和view 深入学习,joomlatask
    1/1

    PHP中文网