Backup von Server A zu Server B 1:1
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
auslese
basis
benutzer
brauche
code
datei
file
ftp
hergestellt echo
herstellen
hilfe
kennwort
kopieren
krieg
lade
ordner
server
test
verbindung
verzeichnis
-
Hallo zusammen,
brauche Hilfe beim erstellen eines Scriptes welches mir ein Backup von Server A zu Server B via ftp 1zu1 machen kann.
Ich bin jetzt so weit, dass ich die Dateien aus dem Verzeichnis per ftp übertragen kann:
<?php
$ftp_server = "ftp.zielsever.de"; //Zielserver
$ftp_user_name = "usename"; //ftp-username
$ftp_user_pass = "password"; // ftp-Password
$source_path = "/is/htdocs/web112/test"; //QuellPfad Lokal
$destination_path = "/www/test"; //ftp-ZielPfad
// Herstellen der Basis-Verbindung
$conn_id = ftp_connect("$ftp_server" $Var;
// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass" $Var;
// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
echo "Ftp-Verbindung nicht hergestellt!";
echo "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich";
die;
} else {
echo "Verbunden mit $ftp_server als Benutzer $ftp_user_name<br>";
}
// ############### Ab hier brauche ich Hilfe ##################
// Dateien aus Verzeichnis auslesen
$d = dir($source_path);
while (false !== ($entry = $d->read())) {
if($entry=='.' OR $entry=='..') continue;
$destination_file = "$destination_path/$entry";
$source_file = "$source_path/$entry";
// Datei hochladen
$upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY);
//########################################################
// Upload überprüfen
if (!$upload) {
echo "$entry FTP-Upload ist fehlgeschlagen!<br>";
} else {
echo "Datei $entry auf Server $ftp_server hochgeladen<br>$destination_file<br><br>";
}
}
// FTP Verbidung schließen
ftp_close($conn_id);
?>
Wie kriege ich es hin Unterverzeichnisse und dessen Unterverzeichnisse auszulesen und per ftp anzulegen und die Dateien zu kopieren?
Gruß,
Siggi
Beitrag geändert: 13.11.2007 0:15:21 von 4u -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Deine Lösung heißt: Rekursion.
function getFiles($src){ $files = array(); for(jede Datei oder Ordner){ if(ist ordner){ array_merge($files, getFiles(neuer (tieferer) Pfad)); } else{ array_push($files, Name der Datei); } } return $files; } foreach(getFiles($source_path) as $file){ lade Datei $file auf neuen Server }
Gruß
PD
Beitrag geändert: 19.11.2007 9:26:34 von pinkdragon -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage