function Dump_Array($var,$space){
$space = $space+2;
switch (gettype($var)) {
case 'integer':
case 'double':
case 'string':
$Messages .= $var;
break;
case 'array':
$Messages .= "\n";
do {
for($i=0;$i<=$space;$i++){
$Messages .= ' ';
}
$Messages .= key($var).' = "';
$Messages .= Dump_Array($var[key($var)],$space);
$Messages .= "\"\n";
} while (next($var));
break;
default:
$Messages .= '未知数据类型';
break;
}
return $Messages;
}
function error2mail(){
global $PHP_SELF,$REMOTE_ADDR,$HTTP_USER_AGENT,$HTTP_GET_VARS,$HTTP_POST_VARS,$HTTP_COOKIE_VARS,$HTTP_SERVER_VARS,$php_errormsg;
print "对不起,有严重的错误产生,可能是程序的错误,我们已经纪录下了详细信息,会尽快解决!\n谢谢您的支持,请在1个小时以后尝试访问此页。<BR>";
$Error_Msg .= "文件 $PHP_SELF 中:\n";
$Error_Msg .= mysql_errno()."\n";
$Error_Msg .= mysql_error()."\n";
$Error_Msg .= "当前程序运行位置\n";
$Error_Msg .= "在".__FILE__."\n";
$Error_Msg .= "在".__LINE__."行\n";
$Error_Msg .= "时间 ".date("Y-m-d H:i:s")."\n";
$Error_Msg .= "来访 IP ".$REMOTE_ADDR."\n";
$Error_Msg .= "来访用户信息 ".$HTTP_USER_AGENT."\n\n";
$Error_Msg .= '###############################################################'."\n";
$Error_Msg .= "HTTP_GET_VARS\n".Dump_Array($HTTP_GET_VARS)."\n";
$Error_Msg .= '###############################################################'."\n";
$Error_Msg .= "HTTP_POST_VARS\n".Dump_Array($HTTP_POST_VARS)."\n";
$Error_Msg .= '###############################################################'."\n";
$Error_Msg .= "HTTP_COOKIE_VARS\n".Dump_Array($HTTP_COOKIE_VARS)."\n";
$Error_Msg .= '###############################################################'."\n";
$Error_Msg .= "HTTP_SERVER_VARS\n".Dump_Array($HTTP_SERVER_VARS)."\n\n\n\n";
$Error_Msg .= '###############################################################'."\n\n";
//print nl2br($Error_Msg);
mail("[email protected]","PHP_ERROR of $PHP_SELF","$Error_Msg");
//print "错误信息,请与管理员联系。";
exit;
}
|