\nMySql - DB-Restore\n"; echo "\n\n"; echo "\n"; echo "\n\n"; // Datei oeffnen $f = ($gz) ? gzopen($path.$filename,"r") : fopen($path.$filename,"r"); if ($f) { // Wenn GZ-Komprimierung aus ist, koennen wir mit Hilfe der Filegroesse // ausrechnen, wieviel Prozent der Datei fertig sind. // Bei GZ=1 geht es nicht, weil sich der Offset auf die ungepackte Groesse // bezieht und somit nicht ins Verhältnis zur Dateigroesse gestellt werden kann. if ($gz==0) $filegroesse=filesize($path.$filename); $sql_command=array(); // Dateizeiger an die richtige Stelle setzen ($gz) ? gzseek($f,$offset) : fseek($f,$offset); // Jetzt basteln wir uns mal unsere Befehle zusammen... $a=0; WHILE ( ($a<$anzahl_zeilen_restore) && (!$end) ) { $befehl=""; // Einen MySQL-Befehl holen. Solange, bis wir wirklich etwas sinnvolles haben... WHILE ( ($befehl=="") && (!$end) ) { $befehl=get_sqlbefehl();} if ($befehl=="end of file") { // Am Ende der Datei angekommen - Schleife verlassen $end=true; break; } else { $sql_command[$a]=$befehl; $a++; } } // Offset merken, um beim naechsten Seitenaufruf an die richtige Stelle zu springen $offset= ($gz) ? gztell($f) : ftell($f); if ($gz) gzclose($f); else fclose($f); // Und jetzt koennen wir unsere MySQL-Befehle an die Datenbank schicken $link = mysql_connect($dbhost, $dbuser, $dbpass) or die("Keine Verbindung zur Datenbank möglich!"); mysql_select_db($dbname) or die("
Fehler:
Auswahl der Datenbank '".$dbname."' fehlgeschlagen!\n"); for ($i=0;$i"; echo "Fehler beim Eintrag des Befehls:
".$sql_command[$i]; die(); } } } if (!$end) { // Noch nicht fertig? - Dann Anzeige der Infos und Selbstaufruf durch Javascript $aufruf=$aufruf+1; if (!$gz) $prozent=($offset*100)/$filegroesse; echo "

Wiederherstellung

"; echo "der Datenbank '".$dbname."' auf '".$dbhost."'.
"; echo "
"; if ($table_ready>0) echo $table_ready-1; else echo "0"; echo " Tabellen wurden komplett wiederhergestellt."; echo "
Bisher wurden "; echo number_format(($aufruf*$anzahl_zeilen_restore)-$table_ready,0,",",".")." Datensätze erfolgreich eingetragen."; echo "
Momentan wird die Tabelle '".$actual_table."' mit Daten gefüllt.
"; if (!$gz) echo "
".number_format(sprintf("%.4f",$prozent),4,",",".")." % der Datei eingetragen."; echo ""; } else { // Uff, geschafft! Jetzt darf die Leitung wieder abkuehlen. :-) echo "

Wiederherstellung

"; echo "der Datenbank '".$dbname."' auf '".$dbhost."'.
"; echo "
Herzlichen Glückwunsch."; echo "

Die Datenbank wurde komplett wiederhergestellt."; echo "
Alle Daten aus der Backupdatei wurden erfolgreich in die Datenbank eingetragen.
"; echo "
Alles fertig. :-)"; echo "
Hier geht es zurück zum Kontrollzentrum"; } } else echo "Ich konnte die Datei '".$path.$filename."' nicht öffnen."; echo "\n\n\n"; ?>