php 404错误页面实现代码


Posted in PHP onJune 22, 2009
<?php 
# 设置 $domain 为你的域名 (注意没有www) 
$domain = "3water.com"; 
# 设置URL,注意没有后划线 / 
$docroot = "http://3water.com"; 
# 设置错误信息的字体 
$fontface = "Verdana"; 
# 设置404页面的字体大小 
$fontsize = "2"; 
# 设置404页面的背景颜色,缺省是白色 
$bgcolor = "#ffffff"; 
# 设置文字颜色,缺省是黑色 
$textcolor = "#000000"; 
# 使用 $reportlevel 变量来控制是否发信给网管 
# 0 = 根本不用发信,嘿,NB的我们怎么会出错呢 
# 1 = 只有在页面含有你的DOMAIN NAME时才发信 
# 2 = 即使是与我连接出现的断连也发信,有可能是友情站点 
$reportlevel = 2; //这种最保险了 
$emailaddress = "webmaster@3water.com"; //设置收错误信息的邮箱 
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; 
?>
PHP 相关文章推荐
复杂检索数据并分页显示的处理方法
Oct 09 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
Sep 23 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
php检测文件编码的方法示例
Apr 25 PHP
php中JSON的使用与转换
Jan 14 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
PHP实现动态执行代码的方法
Mar 25 PHP
PHP中in_array函数使用的问题与解决办法
Sep 11 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
Dec 28 PHP
php微信支付之公众号支付功能
May 30 PHP
PHP 多进程 解决难题
Jun 22 #PHP
PHP 高级课程笔记 面向对象
Jun 21 #PHP
mysql 性能的检查和优化方法
Jun 21 #PHP
php fckeditor 调用的函数
Jun 21 #PHP
学习discuz php 引入文件的方法DISCUZ_ROOT
Jun 21 #PHP
php 分页函数multi() discuz
Jun 21 #PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 #PHP
You might like
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
php输出图像的方法实例分析
2017/02/16 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
Python爬取附近餐馆信息代码示例
2017/12/09 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
python3.7 sys模块的具体使用
2019/07/22 Python
多个python文件调用logging模块报错误
2020/02/12 Python
Numpy 多维数据数组的实现
2020/06/18 Python
德国高性价比网上药店:medpex
2017/07/09 全球购物
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
学生打架检讨书
2014/02/14 职场文书
出国英文推荐信
2014/05/10 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
一份没有按时交货失信于客户的检讨书
2014/09/19 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
白银帝国观后感
2015/06/17 职场文书
离职信范本
2015/06/23 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
mysql的数据压缩性能对比详情
2021/11/07 MySQL
SQL Server使用PIVOT与unPIVOT实现行列转换
2022/05/25 SQL Server