快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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, $REMOTE_ADDR, $docroot;

# Build the $errortime variable to contain the date/time of the error.
# Using date() likely would have been better, but I already had this code
# elsewhere, and I\\'m lazy.
$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 Report/n/nA 404 error was encountered by $REMOTE_ADDR";
$message .= " on $errortime./n/n";
$message .= "The URI which generated the error is: /n$docroot$REQUEST_URI/n/n";
$message .= "The referring page was:/n$HTTP_REFERER/n/n";

# Send the mail message. This assumes mail() will work on your system!
mail("$emailaddress", "404 Error Report", $message, "From: $emailaddress");

return;
}


# Done with function declarations. Main function begins here.

# Send a 404 error to the user\\'s browser
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中如何使用header发送头部信息
下一教程: 用IE远程创建Mysql数据库的简易程序

您可以阅读与"PHP:404错误陷阱并email给治理员的程序"相关的教程:
· 定制404错误页面,并发信给治理员的程序
· 用php写的serv-u的web申请账号的程序
· 用php实现qq挂机的程序
· php写的发送附件的程序(一)
· 用PHP实现banner轮换的程序代码
    微笑服务 优质保证 索取样品