Verzeichnis per FTP kopieren

CikoNo1

Erfahrenes Mitglied
Hallo Leute,

bin total verzweifelt, sitz schon den ganzen tag dran und komm einfach nicht weiter.

Ich will das von "Server A" Dateien bzw. Verzeichnisse auf "Server B" kopiert werden die in den letzten 24 Studen verändert bzw. neu erstellt wurden. Also wenn in Verzeichnis A ein Unterverzeichnis angelegt wurde soll dies afu Server B auch erstellt werden. Mein Problem ist wenn dieses Verzeichnis schon vorhanden ist bekomme ich eine Fehlermeldung:
Code:
Warning: ftp_mkdir() [function.ftp-mkdir]: Directory already exists in C:\Programme\xampp\htdocs\replikation\class.func_repl.php on line 36

hier mal mein Code:
class.func_repl.php
PHP:
<?PHP
	
	function ftpconnect() {
		$ftpHost = "192.168.0.92";
		$ftpUser = "replikation";
		$ftpPasswd = "klinik-mgvs";
		
		$conn_id = ftp_connect($ftpHost);
		if(!$conn_id) {
			echo "<b>Es konnte keine Verbindung zum FTP Server hergestellt werden, setzten Sie sich mit dem Administrator in Verbindung.</b><br>";
		}
		
		$login_result = ftp_login ($conn_id, $ftpUser, $ftpPasswd);
		if(!$login_result) {
			echo "<b>Sie konnten sich am FTP Server nicht anmelden, setzten Sie sich mit dem Administrator in Verbindung.</b><br>";
		}
		uploadNewFile('fileadmin'.'/', $conn_id);
		echo "<br><hr><br>";
		uploadNewFile('uploads'.'/', $conn_id);
	}
	
	
	//Funktion um die Zeit des letzten Zugriffs zu ermitteln
	function uploadNewFile($verzeichnis, $conn_id) 
	{
		$zeitArr = Array();
		
		$handle =  opendir($verzeichnis); 
		while ($datei = readdir($handle)) 
		{ 
			if ($datei != "." && $datei != "..") 
			{ 
				if (is_dir($verzeichnis.$datei)) // Wenn Verzeichniseintrag ein Verzeichnis ist 
				{
						if(!@ftp_nlist($conn_id, $verzeichnis.$datei.'/')) {
							ftp_mkdir($conn_id, $verzeichnis.$datei.'/');
						}
					// Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen
					uploadNewFile($verzeichnis.$datei.'/', $conn_id); 
				}
				else
				{ 
					// Wenn Verzeichnis-Eintrag eine Datei ist, diese ausgeben
					$local_file = $verzeichnis.$datei;
					//ftp_chdir($conn_id, "/".$verzeichnis);
					$UNIXzeit = fileatime($verzeichnis.$datei);
					$akttime = time();
					//86400 entsprechen 24 Stunden in der Einheit sekunden
					$akttime = $akttime - 86400;
					$datum = date('d.m.Y H:i:s', $akttime);
					
					if($UNIXzeit >= $akttime) {
						$upload = ftp_put($conn_id, $verzeichnis.$datei, $local_file, FTP_BINARY);
						/*if (!$upload) {
							// check upload status
						   echo "FTP upload of $verzeichnis.$datei has failed!";
						  }
						else
						 {
						   echo "Datei $datei wurde erfolgreich in das Verzeichnis $verzeichnis geladen.<br><br>";
						 }*/
						
					}					
				} 
			}
		} 
		closedir($handle); 
	}
	
?>
 
Zurück