function bak() { global $db; $fpath = "bak/" . date('Ymd', time()) . "_" . getRndStr(10); $sql = ""; $p = 1; $tables = "{pre}art_topic,{pre}art_type,{pre}comment,{pre}gbook,{pre}link,{pre}mood,{pre}user,{pre}user_card,{pre}user_group,{pre}user_visit,{pre}vod_topic,{pre}vod_type,{pre}art,{pre}vod"; $tables = replaceStr($tables, "{pre}", app_tablepre); $tablearr = explode(",", $tables); foreach ($tablearr as $table) { $sql .= make_header($table); $rsfield = $db->getTableFields(app_dbname, $table); $i = 0; while ($rowfield = mysql_fetch_field($rsfield)) { $fs[$i] = trim($rowfield->name); $i++; } unset($rsfield); $fsd = $i - 1; $nums = $db->getOne("select count(*) from {$table}"); $pagecount = 1; if ($nums > 1000) { $pagecount = ceil($nums / 1000); } for ($n = 1; $n <= $pagecount; $n++) { $rsdata = $db->getAll("select * from {$table} limit " . 1000 * ($n - 1) . ",1000"); $rscount = count($rsdata); $intable = "INSERT INTO `{$table}` VALUES("; for ($j = 0; $j < $rscount; $j++) { $line = $intable; for ($k = 0; $k <= $fsd; $k++) { if ($k < $fsd) { $line .= "'" . mysql_escape_string($rsdata[$j][$fs[$k]]) . "',"; } else { $line .= "'" . mysql_escape_string($rsdata[$j][$fs[$k]]) . "');\r\n"; } } $sql .= $line; if (strlen($sql) >= 2000000) { $fname = $fpath . "-" . $p . ".sql"; fwrite(fopen($fname, "wb"), $sql); $p++; $sql = ""; } } unset($rsdata); } unset($fs); } $sql .= make_manager(replaceStr("{pre}manager", "{pre}", app_tablepre)); $fname = $fpath . "-" . $p . ".sql"; fwrite(fopen($fname, "wb"), $sql); echo "备份成功"; }
$rscount = count($rsdata); $intable = 'INSERT INTO ' . $table . ' VALUES('; for ($j = 0; $j < $rscount; $j++) { $line = $intable; for ($k = 0; $k <= $fsd; $k++) { if ($k < $fsd) { $line .= "'" . mysql_escape_string($rsdata[$j][$fs[$k]]) . "',"; } else { $line .= "'" . mysql_escape_string($rsdata[$j][$fs[$k]]) . "');\r\n"; } } $sql .= $line; if (strlen($sql) >= 1500000) { $fname = $fpath . '-' . $p . '.sql'; fwrite(fopen($fname, 'wb'), $sql); $p++; unset($sql); } } unset($rsdata); } unset($fs); } unset($tablearr); $sql .= make_manager(str_replace('{pre}', $GLOBALS['MAC']['db']['tablepre'], '{pre}manager')); $fname = $fpath . '-' . $p . '.sql'; fwrite(fopen($fname, 'wb'), $sql); showMsg('备份成功', '?m=db-list'); } else { showErr('System', '未找到指定系统模块'); }