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(); ?>