Hallo Zusammen
Das erste Problem habe ich somit gelöst, dass ich die Export-Funktionen lediglich auf eine einzelne, externe PHP-Datei versetzt habe.
Dann das nächste Problem:
DIE IMPORT-Funktion sieht bei mir folgendermassen aus (die Formularfelder, also das Durchsuchen-Feld hab ich nicht angegeben, da der Upload ja normal funktioniert!)
PHP-Code:
//Wiederherstellen eines Backups (SQL-File)
$filepath = $_SERVER['DOCUMENT_ROOT']."/intern_dbs/sql_temp/";
$des_file = strtolower($filepath.$_FILES['sql_file']['name']);
if(move_uploaded_file($_FILES['sql_file']['tmp_name'], $des_file)) {
//Herstellen der DB Verbindung
$connectionid_b = mysql_connect ($db_host, $db_user, $db_pass);
if (!mysql_select_db ($db_name, $connectionid_b))
{
die ("<font color=red size=3><b>Datenbankverbindung fehlgeschlagen!</b></font><br />Konnte Backup nicht durchführen.<br /><br /><a href=\"".$_SERVER['PHPSELF']."?op=reback&make=default\" target=\"_self\" style=\"color:blue;\">[ <b>Zurück</b> ]</a>");
}
//Ausführen der SQL-Datei (IMPORT)
$sql = "source ".$des_file;
mysql_query($sql) OR die(mysql_error());
//Schliessen der DB-Verbindung
mysql_close($connectionid_b);
//Hochgeladene Datei vom Server (aus Sicherheitsgründen) wieder entfernen
$tmp_sql_file = $des_file;
unlink($tmp_sql_file);
//Erfolgsmeldung
echo '<b>IDB / ODBS - Backup - Wiederherstellung</b><hr /><br />
Das Backup wurde <font color=green><b>erfolgreich</b></font> durchgeführt!<br />
Aus Sicherheitsgründen wurde die Datei wieder vom Server entfernt.<br /><br />
<b>BK-File-Report:</b> <i>'.$_FILES['sql_file'].'</i><br /><br />
<a href="index.php" target="_self" style="color:blue;">[ <b>Zurück</b> ]</a>';
} else {
//Misserfolg
echo '<b>IDB / ODBS - Backup - Wiederherstellung</b><hr /><br />
Wiederherstellung <font color=red><b>fehlgeschlagen</b></font>!<br />
Die ausgewählte SQL-Datei existiert nicht oder es ist in Fehler aufgetreten.<br />
<a href="'.$_SERVER['PHPSELF'].'?op=reback&make=default" target="_self" style="color:blue;">[ <b>Zurück</b> ]</a>';
}
Das Problem ist hier, sollte die SQL Datei normal sein wie jede ander auch, dass beim Upload der Dateiinhalt auf
eine einzige Zeile rutscht, obwohl das in der Originaldatei nicht so aussieht sondern mehrzeilig ist. Genau deshalb bekomme ich dann beim Upload ein FATAL ERROR von SQL zurückgeliefert, der in Zeile 1 stehen soll..
Zeile 1 ist ja das # vordran. Ja, lade ich die Datei über phpMyAdmin hoch (da SQL FIle ja Mehrzeilig ist) gehts ohne Fehler.
Woran liegt das denn am Upload?? Kann man irgendwie ererichen das beim Fileupload der Dateiinhalt .- sofern dieser mehrzeilig ist - auch mehrzeilig beibehalten wird?
Gruss
Wolf