function newname($name) { global $directory, $ext; if (file_exists($directory . "/" . $name)) { $clean = str_replace("." . $ext, "", $name); $clean = $clean . random(3); $clean = $clean . "." . $ext; if (!file_exists($directory . "/" . $clean)) { return $clean; } } else { return $name; } return newname($clean); }
echo $pdo->log->header("Restoring {$tbl}."); $command = "zcat < {$filename} | mysql --defaults-file=mysql-defaults.txt -h{$dbhost} {$use} {$dbname}"; system($command); } } $pdo->queryExec("SET FOREIGN_KEY_CHECKS=1"); } else { if (isset($argv[1]) && $argv[1] == "all" && (isset($argv[2]) && $argv[2] == "outfile") && (isset($argv[3]) && file_exists($argv[3]))) { $sql = "SHOW tables"; $tables = $pdo->query($sql); foreach ($tables as $row) { $tbl = $row['tables_in_' . DB_NAME]; $filename = $argv[3] . $tbl . ".csv"; echo $pdo->log->header("Dumping {$tbl}."); if (file_exists($filename)) { newname($filename); } $pdo->queryDirect(sprintf("SELECT * INTO OUTFILE %s FROM %s", $pdo->escapeString($filename), $tbl)); } } else { if (isset($argv[1]) && $argv[1] == "all" && (isset($argv[2]) && $argv[2] == "infile") && (isset($argv[3]) && is_dir($argv[3]))) { $sql = "SHOW tables"; $tables = $pdo->query($sql); $pdo->queryExec("SET FOREIGN_KEY_CHECKS=0"); foreach ($tables as $row) { $tbl = $row['tables_in_' . DB_NAME]; $filename = $argv[3] . $tbl . ".csv"; if (file_exists($filename)) { echo $pdo->log->header("Restoring {$tbl}."); $pdo->queryExec(sprintf("LOAD DATA INFILE %s INTO TABLE %s", $pdo->escapeString($filename), $tbl)); }
fputs($doclog, $filename . ' -> ' . $tab . ' ' . $ok . "\n"); } echo "{$ok}<br>\n"; } else { $personen[] = $filename; } } } } } if ($personen) { foreach ($personen as $filename) { $tab = suchPerson($filename); if ($tab) { echo 'Verzeichnis ' . $filename . ' nach ' . $tab . ' verschieben: '; $ok = newname($root, $filename, $tab) ? 'ok' : 'fehler'; if ($doclog) { fputs($doclog, $filename . ' -> ' . $tab . ' ' . $ok . "\n"); } echo "{$ok}<br>\n"; } else { $sql = "update documents set path='{$filename}' where kunde = {$filename}"; $ok = $_SESSION['db']->query($sql); echo 'Verzeichnis ' . $filename . " nicht verschoben<br>\n"; if ($doclog) { fputs($doclog, $filename . ' nicht verschoben ' . "\n"); } } } } echo "done<br>";