PHP:404错误陷阱并email给管理员的程序
<?
# 404.php, 8/10/2000.
# Traps 404 errors and mails a notice to the webmaster.
# Requires PHP 3.0 or newer, and mail capability on your system.
#
# Copyright 2000 shaun@shat.net under the GNU Public License.
# Disclaimer: I wrote this script for me, and it works for me.
# If it doesn't work for you, or makes your server explode,
# that's life. Please email with questions or bug reports.
# Set these variables to configure the script:
# Set $domain to your domain name (no www)
$domain = "your.domain.com";
# Set $docroot to the URL of the directory which contains your
# .htaccess file. Don't include trailing slash.
$docroot = "http://your.domain.com";
# Font face you'd like to use on the 404 page
$fontface = "Verdana";
# Font size you'd like to use on the 404 page
$fontsize = "2";
# Background color of the 404 page (default is white)
$bgcolor = "#ffffff";
# Text color you'd like to use on the 404 page (default is black)
$textcolor = "#000000";
# This script is capable of mailing the details of each 404 error
# to the webmaster. Use the $reportlevel variable to control when
# you receive these reports.
#
# 0 = don't use the email capabilities at all
# 1 = send email only if the error's referer contains your domain name
# (i.e. the 404 was generated by a broken link on your site)
# 2 = send email any time a 404 error is generated (useful for tracking
# broken links at other sites which link to you)
$reportlevel = 2;
# Set $emailaddress to the email address of whoever should be
# notified of 404 errors. Don't escape the @ symbol. This will also
# be used as the "from" address on any emails the script generates.
# You can leave this unassigned if you're not using email features.
$emailaddress = "you@your.domain.com";
################################################################
# DON'T EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING #
################################################################
# If you want to edit the script, I've commented profusely :) #
################################################################
# The print_details function is what prints the 404 error to
# the visitor. As far as I know, PHP3 doesn't incorporate Perl's
# print <<"EOT" ability. PHP4 does allow this capability
# but the script was written for PHP3. So, you have to use
# a lot of echo statements if you want to retain PHP3 compat.
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 Not Found</title></head>";
echo "<body bgcolor=\"$bgcolor\" text=\"$textcolor\">";
echo "<b><h1>404 Not Found</h1></b>";
echo "<p><font face=\"$fontface\" size=\"$fontsize\">";
echo "We're sorry. The page you requested, $docroot$REQUEST_URI, doesn't exist";
echo " on this server.</font></p>";
# If an email report is being generated, let the visitor know:
if ($reportlevel != 0)
{
echo "<p><font face=\"$fontface\" size=\"$fontsize\">";
echo "The details of this error have automatically been mailed to the webmaster.";
}
# Close up the HTML tags
# echo "</body></html>";
return;
}
# The send_email function sends the details of the 404 error to the
# webmaster.
function send_email()
{
# Request access to the global variables we need
global $REQUEST_URI, $HTTP_REFERER, $emailaddress, $R
【相关文章:】
PHP读取RSS feed源代码(带注释,可读取多个源)
模拟Google ToolBar直接提交PageRank请求
Apache+php+mysql安装与配置图解(最新版)
Apache与PHP的整合过程
PHP原版HTML编码器溢出问题的解决
用PHPINFO来实现PHP的配置统计过程
新手如何使用PHP创建RSS阅读器
半小时精通PHP正则表达式
PHP网页制作常用的正则表达式
PHP+MYSQL+Javascript数据库查询结果的动态显示
【发表评论】【打印此文】【关闭窗口】【点击数: 】
