www.gusucode.com > Tatter Tools 0.961 SE GB2312 简体中文版 > upload/admin/setting_import.php
<? /* 分卷备份恢复 by 冬天来了 (mecee.com) */ include("../inc_global.php"); include("../inc_function.php"); //include("../inc_scheme.php"); function sizecount($filesize) { if($filesize >= 1073741824) { $filesize = round($filesize / 1073741824 * 100) / 100 . ' G'; } elseif($filesize >= 1048576) { $filesize = round($filesize / 1048576 * 100) / 100 . ' M'; } elseif($filesize >= 1024) { $filesize = round($filesize / 1024 * 100) / 100 . ' K'; } else { $filesize = $filesize . ' bytes'; } return $filesize; } //check_authority(); if ($mode == "import") { $readerror = 0; if($from == 'server') { $datafile = addslashes(dirname(dirname(__FILE__))).'/'.$datafile_server; } if(@$fp = fopen($datafile, 'r')) { $sqldump = fgets($fp); $identify = explode(',', base64_decode(preg_replace("/^# Identify:\s*(\w+).*/s", "\\1", $sqldump))); $dumpinfo = array('method' => $identify[1], 'volume' => intval($identify[2])); if($dumpinfo['method'] == 'multivol') { $sqldump .= fread($fp, 6000000); } fclose($fp); } else { if($autoimport) { //updatecache(); msg('分卷数据成功导入数据库。'); } else { error_process('02C4'); } } if($dumpinfo['method'] == 'multivol') { $sqlquery = splitsql($sqldump); unset($sqldump); foreach($sqlquery as $sql) { if(trim($sql) != '') { mysql_query($sql); } } $datafile_next = str_replace("-$dumpinfo[volume].php", '-'.($dumpinfo['volume'] + 1).'.php', $datafile_server); msg("数据文件 #$dumpinfo[volume] 成功导入,程序将自动继续。", "?mode=import&from=server&datafile_server=$datafile_next&autoimport=yes&importsubmit=yes"); } else { error_process('02C5'); } /* if ($iurl) { $fvalue = array(); list($header, $fval, $lmdate) = get_remotefile($iurl,""); if (!$fval) error_process("02B4"); $fvalue = explode("\n", $fval); } else { $tempname = $_FILES["ifile"][tmp_name]; if (@move_uploaded_file($tempname, $r_root_path."impbuf")) { $fvalue = file($r_root_path."impbuf"); } else { error_process("02B4"); } } drop_scheme(); create_scheme(); foreach($fvalue as $k => $row) { $row = str_replace("[##_dbid_##]", $dbid, $row); if ($row) put_query("$row"); } $sql = "select count(*) from t3_".$dbid."_setting"; list ($count) = mysql_fetch_array(mysql_query($sql)); if (!$count) put_query("insert into t3_".$dbid."_setting (user_pass) values ('$p_user_pass')"); else put_query("update t3_".$dbid."_setting set user_pass = '$p_user_pass'"); update_xml(); unlink($r_root_path."impbuf"); */ ?> <meta http-equiv="Content-type" content="text/html; charset=gb2312"> <script type="text/javascript" language="JavaScript"> alert('备份文件还原成功!\t'); opener.location.reload(); window.close(); </script> <? exit; } $exportlog = array(); if(is_dir('./backup')) { $dir = dir('./backup'); while($entry = $dir->read()) { $entry = "./backup/$entry"; if(is_file($entry)) { $filesize = filesize($entry); $fp = fopen($entry, 'r'); $identify = explode(',', base64_decode(preg_replace("/^# Identify:\s*(\w+).*/s", "\\1", fgets($fp)))); fclose ($fp); $exportlog[$identify[0]] = array( 'method' => $identify[1], 'volume' => $identify[2], 'filename' => $entry, 'size' => $filesize); } } $dir->close(); } else { error_process('02C3'); } krsort($exportlog); reset($exportlog); $exportinfo = ''; foreach($exportlog as $dateline => $info) { $info[dateline] = is_int($dateline) ? gmdate("Y-m-d H:i:s", $dateline + $timeoffset * 3600) : '未知'; $info['size'] = sizecount($info['size']); $info['volume'] = $info['method'] == 'multivol' ? $info['volume'] : ''; $info['method'] = $info['method'] == 'multivol' ? '多卷' : 'Shell'; $exportinfo .= "<tr align=\"center\">\n". "<td bgcolor=\"#FFFFFF\"><a href=\"$info[filename]\">".substr(strrchr($info['filename'], "/"), 1)."</a></td>\n". "<td bgcolor=\"#FFFFFF\">$info[dateline]</td>\n". "<td bgcolor=\"#FFFFFF\">$info[size]</td>\n". "<td bgcolor=\"#F8F8F8\">$info[method]</td>\n". "<td bgcolor=\"#FFFFFF\">$info[volume]</td>\n". "<td bgcolor=\"#F8F8F8\"><a href=\"?mode=import&from=server&datafile_server=admin/$info[filename]\">导入</a></td>\n"; } //THE END admin_pop_header("if (simport.r1[0].checked) { document.getElementById('d1').style.display='block'; document.getElementById('d2').style.display='none'; } else { document.getElementById('d1').style.display='none'; document.getElementById('d2').style.display='block'; }"); ?> <html> <head> <meta http-equiv=Content-type content=text/html; charset=gb2312> <meta http-equiv="Content-Language" content="text/html; language=zh-cn"> <meta name=keywords content="Tatter Tools,Meyu"> <link rel="stylesheet" href="style.css"> <table width=100% style=margin-bottom:3;margin-top:6> <form method=post enctype=multipart/form-data name=simport action="<?=$PHP_SELF?>"> <input type=hidden name=temp> <input type=hidden name=mode value="import"> <tr> <td width=24 align=right><img src=../images/num_19.gif height=17></td> <td width=9><img src=../images/ver_01.gif width=9 height=17></td> <td><img src=../images/cap_19.gif height=17></td> </tr></table> <? print_content_line(); ?> <table class=content_back1 cellpadding=0 cellspacing=0 width=100%><tr> <td style=padding-top:10;padding-bottom:10> <div style=padding:10;padding-left:18;padding-bottom:18;> 准备还原备份文件<br> 首先 <b>确认备份文件的完整性</b>稍等片刻即可导入成功<br><br> 还原备份的资料库将会<b>删除</b>现在的资料库(管理密码除外)! 在执行动作前请务必确认! </div> </td></tr></table> <? print_content_line() ?> <table cellspacing="0" cellpadding="0" border="0" width="100%" align="center"><tr><td bgcolor="#eeeeee"><table border="0" class="tableborder" cellspacing="1" cellpadding="4" width="100%" class="smalltxt"><tr class="header"><td colspan="9">数据备份记录</td></tr> <tr align="center" bgcolor="fefefe"> <td>文件名</td> <td>时间</td> <td>尺寸</td><td>方式</td> <td>卷号</td><td>操作</td></tr> <tr> <td style=padding-top:10;padding-bottom:10> <?=$exportinfo?> </td></tr></table></td></tr></table> <? print_content_line(); ?> <table cellpadding=0 cellspacing=0 width=100%><tr> <td height=35 align=right style=padding-right:13><img class=ib src=../images/b_import.gif height=17 onclick="alert('还原会因文件大小与网络有关\n请耐心等候,请勿关闭浏览器或断开网络.'); simport.submit();" style=margin-right:5><img class=ib src=../images/b_close.gif width=53 height=17 onclick="window.close();"></td> </tr></form></table> <? admin_pop_footer(); ?>