//smarty参数 $objWebInit->arrGSmarty = $arrGSmarty; //数据库连接参数 $objWebInit->setDBG($arrGPdoDB); $objWebInit->db(); //访问权限检查 if (!$objWebInit->checkPopedomG($_SESSION['user_id'])) { check::AlertExit('对不起,您没有权限访问此页', -1); } if ($_SERVER["REQUEST_METHOD"] == "POST") { @set_time_limit(0); /* 系统信息 */ $sys_info['os'] = PHP_OS; $sys_info['web_server'] = $_SERVER['SERVER_SOFTWARE']; $sys_info['php_ver'] = PHP_VERSION; $sys_info['mysql_ver'] = $objWebInit->get_ver(); $sys_info['date'] = date("Y-m-d H:i:s"); $date = date("Y-m-d"); $head = "-- BIWEB SQL Dump \n" . "-- http://www.biweb.cn \n" . "-- \n" . "-- DATE : " . $sys_info["date"] . "\n" . "-- MYSQL SERVER VERSION : " . $sys_info['mysql_ver'] . "\n" . "-- PHP VERSION : " . $sys_info['php_ver'] . "\n" . "-- Vol : "; $sql = $head . " 1 \n-- \n-- DATABASE : " . $arrGPdoDB['db_name'] . "\n-- \n\n-- ---------------------------------\n"; $zip = new phpzip(); $vol_size = $_POST['vol_size']; $sql_name = $_POST['sql_name']; $i = 1; $error = 0; if (!$objWebInit->creat_cache($sql)) { die("不能建立缓存文件!"); } $arrTables = $objWebInit->get_table(); foreach ($arrTables as $k => $table) { if (!$objWebInit->get_table_df($table, $sql, $_POST['drop_tab'])) {
$arrTables = $objWebInit->get_table(); foreach ($arrTables as $k => $table) { if ($objWebInit->db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { $strSQL = "OPTIMIZE TABLE `" . $table . "`"; $link = mysql_connect($arrGPdoDB['db_host'], $arrGPdoDB['db_user'], $arrGPdoDB['db_password']) or die('Could not connect: ' . mysql_error()); mysql_select_db($arrGPdoDB['db_name']) or die('Could not select database'); $result = mysql_query($strSQL) or die('Query failed: ' . mysql_error()); } //$rs = $objWebInit->db->query($strSQL,array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true)); //$rs->execute(); //$arrData = $rs->fetchall(PDO::FETCH_ASSOC); //$objWebInit->db->exec($strSQL,array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true)); } } /* 初始化数据 */ $db_ver = $objWebInit->get_ver(); $ret = $objWebInit->get_table_status(); $list = array(); $num = 0; for ($i = 0; $i < count($ret); $i++) { //$res = $objWebInit->check_table($ret[$i]['Name']); $type = $db_ver > '4.1' ? $ret[$i]['Engine'] : $ret[$i]['Type']; $chartset = $db_ver > '4.1' ? $ret[$i]['Collation'] : 'N/A'; $list[] = array('table' => $ret[$i]['Name'], 'type' => $type, 'rec_num' => $ret[$i]['Rows'], 'rec_size' => sprintf(" %.2f KB", $ret[$i]['Data_length'] / 1024), 'rec_index' => $ret[$i]['Index_length'], 'rec_chip' => $ret[$i]['Data_free'], 'chartset' => $chartset); $num += $ret[$i]['Data_free']; } unset($ret); // 输出到模板 $arrMOutput["smarty_assign"]['strNav'] = '数据优化'; $arrMOutput["smarty_assign"]['list'] = $list; $arrMOutput["smarty_assign"]['num'] = $objWebInit->num_bitunit($num);