$db_name=$_db['database'];
$database=$_db['database'];
$zaehler=0;
$file_name = $data['path'].$database."_".date("Y-m-d_H-i").".sql";
$text = "# --------------------------------------------------------\r\n";
$text .= "# DATENBANK DUMP\r\n";
$text .= "# Host: ".$db_host."\r\n";
$text .= "# Erstellungszeit: ".date("d. F Y")." um ".date("H:i")."\r\n";
$text .= "# Server Betriebssystem: ".php_uname()."\r\n";
$text .= "# MySQL-Version: ".mysql_get_server_info()."\r\n";
$text .= "# PHP-Version: ".phpversion()."\r\n";
$text .= "# Datenbank: `$database`\r\n";
$text .= "# --------------------------------------------------------\r\n\r\n";
$fd = fopen($file_name,"a+");
fwrite($fd, $text);
fclose($fd);
$c = 0;
$result2 = @mysql_list_tables($database);
for ($i = 0; $i < @mysql_num_rows($result2); $i++)
{
$tabelle = @mysql_tablename($result2,$i);
if ($tabelle != "") {
$tbl_array[$c] = @mysql_tablename($result2,$i);
$c++;
$zaehler++;
}
}
for ($y = 0; $y < $c; $y++) {
$tabelle = $tbl_array[$y];
$def="";
unset($index);
$data="";
$def .= "DROP TABLE IF EXISTS $tabelle;\r\n";
$def .= "CREATE TABLE $tabelle (\r\n";
$result3 = @mysql_db_query($database, "SHOW FIELDS FROM $tabelle");
while ($row = @mysql_fetch_array($result3)) {
$def .= " ".$row["Field"]." ".$row["Type"];
if ($row["Default"] != "") { $def .= " DEFAULT '".$row["Default"]."'"; }
if ($row["Null"] != "YES") { $def .= " NOT NULL"; }
if ($row["Extra"] != "") { $def .= " ".$row["Extra"]; }
$def .= ",\r\n";
}
$def = ereg_replace(",\r\n$", "", $def);
$result3 = @mysql_db_query($database, "SHOW KEYS FROM $tabelle");
while ($row = @mysql_fetch_array($result3)) {
$kname = $row["Key_name"];
if (($kname != "PRIMARY") && ($row["Non_unique"] == 0)) { $kname = "UNIQUE|".$kname; }
if (!isset($index[$kname])) { $index[$kname] = array(); }
$index[$kname][] = $row["Column_name"];
}
while (list($xy, $columns) = each($index)) {
$def .= ",\r\n";
if ($xy == "PRIMARY") $def .= " PRIMARY KEY (".implode($columns, ", ").")";
else if (substr($xy,0,6) == "UNIQUE") $def .= " UNIQUE ".substr($xy,7)." (".implode($columns, ", ").")";
else $def .= " KEY $xy (".implode($columns, ", ").")";
}
$def .= "\r\n);\r\n\r\n";
$db = @mysql_select_db($database);
$tabelle = "".$tabelle;
$text = "#\r\n# Daten für Tabelle `$tabelle`\r\n#\r\n\r\n";
$fd = fopen($file_name,"a+");
fwrite($fd, $text.$def);
fclose($fd);
$def="";
unset($index);
$data="";
if ($tabelle > "") {
$ergebnis[] = @mysql_select_db($database);
$result = @mysql_query("SELECT * FROM $tabelle");
$anzahl = @mysql_num_rows($result);
$spaltenzahl = @mysql_num_fields($result);
for ($i = 0; $i < $anzahl; $i++) {
$zeile = @mysql_fetch_array($result);
$data .= "INSERT INTO $tabelle (";
for ($spalte = 0; $spalte < $spaltenzahl; $spalte++) {
$feldname = @mysql_field_name($result, $spalte);
if ($spalte == ($spaltenzahl - 1)) {
$data.= $feldname;
} else {
$data.= $feldname.",";
}
}
$data .= ") VALUES (";
for ($k=0;$k < $spaltenzahl;$k++) {
if ($k == ($spaltenzahl - 1)) {
$data .= "'".addslashes($zeile[$k])."'";
} else {
$data .= "'".addslashes($zeile[$k])."',";
}
}
$data .= ");\r\n";
}
$data .= "\r\n";
} else {
$ergebnis[] = "Keine Tabelle übergeben";
}
$fd = fopen($file_name,"a+");
fwrite($fd, $data);
fclose($fd);
}