⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sql.php

📁 CMS系统 提供学习研究修改最好了 比流行的一些CMS简单 但是更容易理解 是帮助你学习PHPCMS系统的好东东哦
💻 PHP
📖 第 1 页 / 共 2 页
字号:
					if ($row['Comment'] == 'FULLTEXT') {						$fulltextkeys[$row['Key_name']] = TRUE;					}					$tablekeys[$row['Key_name']][$row['Seq_in_index']] = $row['Column_name'];					ksort($tablekeys[$row['Key_name']]);				}				mysql_free_result($result);				foreach ($tablekeys as $keyname => $keyfieldnames) {					$structureline  = '';					if ($keyname == 'PRIMARY') {						$structureline .= 'PRIMARY ';					} else {						$structureline .= ($fulltextkeys[$keyname] ? 'FULLTEXT ' : '');						$structureline .= ($uniquekeys[$keyname]   ? 'UNIQUE '   : '');					}					$structureline .= 'KEY'.(($keyname == 'PRIMARY') ? '' : ' '.$keyname);					$structureline .= ' ('.implode(',', $keyfieldnames).')';					$structurelines[] = $structureline;				}				$tablestructure  = 'DROP TABLE IF EXISTS '.$dbname.'.'.$SelectedTables["$dbname"]["$t"].';#%%'.$LineTerminator.'';				$tablestructure .= 'CREATE TABLE '.$dbname.'.'.$SelectedTables["$dbname"]["$t"].' ('.$LineTerminator;				$tablestructure .= '  '.implode(','.$LineTerminator.'  ', $structurelines).$LineTerminator;				$tablestructure .= ');#%%'.$LineTerminator.$LineTerminator;				$alltablesstructure .= str_replace(' ,', ',', $tablestructure);				//$tablestructure=' DROP TABLE IF EXISTS '.$dbname.'.'.$SelectedTables["$dbname"]["$t"].';#%%.'.$LineTerminator.'';			} // end table structure backup		}		if ($GZ_enabled) {			//gzwrite($zp, $droptable.$LineTerminator, strlen($droptable) + strlen($LineTerminator));			gzwrite($zp, $alltablesstructure.$LineTerminator, strlen($alltablesstructure) + strlen($LineTerminator));		} else {			fwrite($fp, $alltablesstructure.$LineTerminator, strlen($alltablesstructure) + strlen($LineTerminator));		}		if ($DHTMLenabled) {			echo '<SCRIPT>statusinfo.innerHTML=""</SCRIPT>';		}		if ($_REQUEST['StartBackup'] != 'structure') {			$processedrows    = 0;			foreach ($SelectedTables as $dbname => $value) {				mysql_select_db($dbname);				for ($t = 0; $t < count($SelectedTables["$dbname"]); $t++) {					$result = mysql_query('SELECT * FROM '.$SelectedTables["$dbname"]["$t"]);					$rows["$t"] = mysql_num_rows($result);					if ($rows["$t"] > 0) {						$tabledatadumpline = '# '.$mysql_in_file_dump_msg.' '.$dbname.'.'.$SelectedTables["$dbname"]["$t"].$LineTerminator;						if ($GZ_enabled) {							gzwrite($zp, $tabledatadumpline, strlen($tabledatadumpline));						} else {							fwrite($fp, $tabledatadumpline, strlen($tabledatadumpline));						}					}					unset($fieldnames);					for ($i = 0; $i < mysql_num_fields($result); $i++) {						$fieldnames[] = mysql_field_name($result, $i);					}					if ($_REQUEST['StartBackup'] == 'complete') {						$insertstatement = 'INSERT INTO '.BACKTICKCHAR.$SelectedTables["$dbname"]["$t"].BACKTICKCHAR.' ('.implode(', ', $fieldnames).') VALUES (';					} else {						$insertstatement = 'INSERT INTO '.BACKTICKCHAR.$SelectedTables["$dbname"]["$t"].BACKTICKCHAR.' VALUES (';					}					$currentrow       = 0;					$thistableinserts = '';					while ($row = mysql_fetch_array($result)) {						unset($valuevalues);						foreach ($fieldnames as $key => $val) {							$valuevalues[] = mysql_escape_string($row["$key"]);						}						$thistableinserts .= $insertstatement.QUOTECHAR.implode(QUOTECHAR.', '.QUOTECHAR, $valuevalues).QUOTECHAR.');#%%'.$LineTerminator;						if (strlen($thistableinserts) >= BUFFER_SIZE) {							if ($GZ_enabled) {								gzwrite($zp, $thistableinserts, strlen($thistableinserts));							} else {								fwrite($fp, $thistableinserts, strlen($thistableinserts));							}							$thistableinserts = '';						}						if ((++$currentrow % 1000) == 0) {							set_time_limit(60);							if ($DHTMLenabled) {								echo '<SCRIPT>rows_'.$dbname.'_'.$SelectedTables["$dbname"]["$t"].'.innerHTML="<B>'.$SelectedTables["$dbname"]["$t"].' ('.number_format($rows["$t"]).' records, ['.number_format(($currentrow / $rows["$t"])*100).'%])</B>"</SCRIPT>';								$elapsedtime = getmicrotime() - $starttime;								$percentprocessed = ($processedrows + $currentrow) / $overallrows;								echo '<SCRIPT>topprogress.innerHTML = "'.$mysql_progress.' '.number_format($processedrows + $currentrow).' / '.number_format($overallrows).' ('.number_format($percentprocessed * 100, 1).'% done) ['.FormattedTimeRemaining($elapsedtime).' elapsed';								if (($percentprocessed > 0) && ($percentprocessed < 1)) {									echo ', '.FormattedTimeRemaining(abs($elapsedtime - ($elapsedtime / $percentprocessed))).' remaining';								}								echo ']"</SCRIPT>';								ob_flush();								flush();							}						}					}					if ($DHTMLenabled) {						echo '<SCRIPT>rows_'.$dbname.'_'.$SelectedTables["$dbname"]["$t"].'.innerHTML="'.$SelectedTables["$dbname"]["$t"].' ('.number_format($rows["$t"]).' records, [100%])"</SCRIPT>';						$processedrows += $rows["$t"];					}					if ($GZ_enabled) {						gzwrite($zp, $thistableinserts.$LineTerminator.$LineTerminator, strlen($thistableinserts) + strlen($LineTerminator) + strlen($LineTerminator));					} else {						fwrite($fp, $thistableinserts.$LineTerminator.$LineTerminator, strlen($thistableinserts) + strlen($LineTerminator) + strlen($LineTerminator));					}				}			}		}		if ($GZ_enabled) {			gzclose($zp);		} else {			fclose($fp);		}		echo '<BR>'.$mysql_back_complete.' '.FormattedTimeRemaining(getmicrotime() - $starttime, 2, $mysql_days_last, $mysql_hours_last, $mysql_min_last, $mysql_sec_last).'.<BR>';		echo '<A class="admin" HREF="';		if ($_REQUEST['StartBackup'] == 'structure') {			if (file_exists($backupabsolutepath.$strubackupfilename)) {				unlink($backupabsolutepath.$strubackupfilename); // Windows won't allow overwriting via rename			}			rename($backupabsolutepath.$tempbackupfilename, $backupabsolutepath.$strubackupfilename);			echo 'sql/'.$strubackupfilename.'"><B>'.$strubackupfilename.'</B> ('.nice_filesize(filesize($backupabsolutepath.$strubackupfilename), 2);		} else if ($backuptype == 'full') {			if (file_exists($backupabsolutepath.$fullbackupfilename)) {				unlink($backupabsolutepath.$fullbackupfilename); // Windows won't allow overwriting via rename			}			rename($backupabsolutepath.$tempbackupfilename, $backupabsolutepath.$fullbackupfilename);			echo 'sql/'.$fullbackupfilename.'"><B>'.$fullbackupfilename.'</B> ('.nice_filesize(filesize($backupabsolutepath.$fullbackupfilename), 2);		} else {			if (file_exists($backupabsolutepath.$partbackupfilename)) {				unlink($backupabsolutepath.$partbackupfilename); // Windows won't allow overwriting via rename			}			rename($backupabsolutepath.$tempbackupfilename, $backupabsolutepath.$partbackupfilename);			echo 'sql/'.$partbackupfilename.'"><B>'.$partbackupfilename.'</B> ('.nice_filesize(filesize($backupabsolutepath.$partbackupfilename), 2);		}		echo ')</A><BR><BR><A class="admin" HREF="admin.php?page=sql&plugins=1">'.$mysql_back_menu_long.'</A><BR>';	} else {		echo ''.$mysql_open_warn1.''.$backupabsolutepath.$tempbackupfilename.' '.$mysql_open_warn2.'';	}}/*########################################################### Optimize tables#########################################################*/elseif(@$_GET['job']=="optimize"){	print("<BR><B>$optimize_tables</B><hr noshade>");	$db_name_list = mysql_list_dbs();	while (list($dbname) = mysql_fetch_array($db_name_list)) {	{		$tables = @mysql_list_tables($dbname);		if (!empty($tables))		{		/* prevent optimizing and display of tables if we have now access rights */		$columns = @mysql_num_rows($tables);		if($columns>0)		{			echo '<TABLE class=admintable><TR><TH class=maintable COLSPAN="4" align="center"><B>'.$dbname.'</B></TH></TR>';			print("<tr><td class=admintable><b>$opt_table_name</b></td><td class=admintable><b>$opt_table_check</b></td><td class=admintable><b>$opt_table_optimize</b></td><td class=admintable><b>$opt_table_msg</b></td></tr>");			print("<tr>");			while (list($tablename) = mysql_fetch_row($tables))			{				print("<td class=admintable>$tablename</td>");				$check_result = mysql_query('CHECK TABLE '.$tablename);				while ($row = mysql_fetch_array($check_result))				{					if ($row['Msg_text']== "OK")					{						print("<td class=admintable style='background-color: #32CD32;'>$row[Msg_text]</td>");						/* check went OK doing optimize */						if(mysql_query('OPTIMIZE TABLE '.$tablename))						{							print("<td class=admintable style='background-color: #32CD32;'>OK</td>");						}else						{							print("<td class=admintable style='background-color: #FF0000;'>ERROR</td>");						}					}					if ($row['Msg_type']):print("<td class=admintable>$row[Msg_type]</td>");endif;				}				print("</tr>");			}			print("</tr><br>");			print("</table>");			}		}	}}print("<br><hr noshade>");echo '<BR><A class="admin" HREF="admin.php?page=sql&plugins=1">'.$mysql_back_menu_long.'</A><BR><BR><BR>';}/*########################################################### Restore DB#########################################################*/elseif(@$_GET['job']=="restore"){if (!empty($_GET['restorefile'])){	if ($GZ_enabled)	{		$filename=gzread(gzopen($backupabsolutepath.$_GET['restorefile'], "rb"), filesize($backupabsolutepath.$_GET['restorefile']));	}	else	{		$filename=fread(fopen($backupabsolutepath.$_GET['restorefile'], "rb"), filesize($backupabsolutepath.$_GET['restorefile']));	}	//if(eregi(";#%%\n", $query_content));	$query_content=explode(";#%%$LineTerminator",$filename);	while(list($id,$query_value)=each($query_content))	{	//if(eregi(";#%%\n", $query_content));		mysql_query($query_value) or die(mysql_error());	}	print("<b>$_GET[restorefile] $restore_success</b>");}else{	print("$restore_error");}}else {  // !$_REQUEST['StartBackup']	/*#############################################################	### BACKUP part	#############################################################*/	echo "<B>$backup</B><hr noshade>";	if (file_exists($backupabsolutepath.$fullbackupfilename))	{		echo ''.$mysql_date_msg.' '.gmdate('F j, Y g:ia T', time() + date('Z')).'<BR>';		echo ''.$mysql_last_backup.'';		$lastbackuptime = filemtime($backupabsolutepath.$fullbackupfilename);		echo gmdate('F j, Y g:ia T', $lastbackuptime + date('Z'));		echo ' (<B>'.FormattedTimeRemaining(time() - $lastbackuptime, 1, $mysql_days_last, $mysql_hours_last, $mysql_min_last, $mysql_sec_last).'</B> '.$ago.')<BR>';		if ((time() - $lastbackuptime) < 86400)		{			print ("$mysql_backup_hint<BR>");		}	echo '<BR><A class="admin" HREF="'.'sql/'.$fullbackupfilename.'">'.$mysql_down_backup.'('.nice_filesize(filesize($backupabsolutepath.$fullbackupfilename), 2).')</A> '.$mysql_down_backup1.'';	}	else	{		print("<br>$mysql_unknown_backup:");	}	if(file_exists($backupabsolutepath.$partbackupfilename))	{		echo '<BR><A class="admin" HREF="'.'sql/'.$partbackupfilename.'">'.$mysql_down_backup_part.'('.nice_filesize(filesize($backupabsolutepath.$partbackupfilename), 2).')</A> '.$mysql_down_backup1.'';	}	if(file_exists($backupabsolutepath.$strubackupfilename))	{		echo '<BR><A class="admin" HREF="'.'sql/'.$strubackupfilename.'">'.$mysql_down_backup_struct.'('.nice_filesize(filesize($backupabsolutepath.$strubackupfilename), 2).')</A> '.$mysql_down_backup1.'';	}	echo '<BR><BR><A class="admin" HREF="'.@$PHP_SELF.'?StartBackup=complete&page=sql&plugins=1"><B>'.$mysql_href_recom.'<font color="#FF0000">*</font></font></B></A><BR>';	echo '<A class="admin" HREF="'.@$PHP_SELF.'?StartBackup=standard&page=sql&plugins=1">'.$mysql_href_standard.'</A><BR>';	echo '<A class="admin" HREF="'.@$PHP_SELF.'?StartBackup=partial&page=sql&plugins=1">'.$mysql_href_partial.'</A><BR>';	echo '<A class="admin" HREF="'.@$PHP_SELF.'?StartBackup=structure&page=sql&plugins=1">'.$mysql_href_structure.'</A><BR>';	/*#############################################################	### RESTORE part	#############################################################	print("<BR><B>$restore</B><hr noshade>");	echo "DO NOT USE, BROKEN!!...<br>";	//global $restorefile;	if(file_exists($backupabsolutepath.$fullbackupfilename))	{		print("<A class='admin' HREF='$PHP_SELF?page=sql&plugins=1&job=restore&restorefile=$fullbackupfilename'>$restore_last_fullback </a>");		$last_full_time = filemtime($backupabsolutepath.$fullbackupfilename);		$form_time=gmdate('F j, Y ', $last_full_time + date('Z'));		$size=nice_filesize(filesize($backupabsolutepath.$fullbackupfilename), 2);		print("&nbsp;($form_time $size) <br>");	}	if(file_exists($backupabsolutepath.$partbackupfilename))	{		print("<A class='admin' HREF='$PHP_SELF?page=sql&plugins=1&job=restore&restorefile=$partbackupfilename'>$restore_last_partback </a>");		$last_part_time = filemtime($backupabsolutepath.$partbackupfilename);		$form_time=gmdate('F j, Y ', $last_part_time + date('Z'));		$size=nice_filesize(filesize($backupabsolutepath.$partbackupfilename), 2);		print("&nbsp;($form_time $size) <br>");	}*/		/*#############################################################	### OPTIMIZE part	#############################################################*/	print("<BR><B>$optimize</B><hr noshade>");	print("<A class='admin' HREF='".@$PHP_SELF."?page=sql&plugins=1&job=optimize'>$opt_start_msg</A><BR><br>");	/* full backup hint message */	echo '<font color="#FF0000"><b>* </b></font>'.$fullback_hint_msg.'<br><br>';	echo "</blockquote>";}function FormattedTimeRemaining($seconds, $precision=1, $mysql_days_last, $mysql_hours_last, $mysql_min_last, $mysql_sec_last) {	if ($seconds > 86400) {		return number_format($seconds / 86400, $precision)." $mysql_days_last";	} else if ($seconds > 3600) {		return number_format($seconds / 3600, $precision)." $mysql_hours_last";	} else if ($seconds > 60) {		return number_format($seconds / 60, $precision)." $mysql_min_last";	}	return number_format($seconds, $precision)." $mysql_sec_last";}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -