ganzes verzeichnis kopieren

waldquelle

Grünschnabel
Hallo!
Habe gesucht aber nichts passendes gefunden.
Möchte gerne ein Verzeichnis ( samt allen Unterverz.) welches auf meinem Webserver liegt in ein anderes ( einstellbates) Verzeichnis auf dem gleich Webserver kopieren.
wie kann ich das am besten anstllen mittels ftp oder gibts da andere Möglichkeiten ?
danke schon mal für eure Ratschläge.
 
Aus den php.net Kommentaren zu [phpf]copy[/phpf]

PHP:
<?php

// A function to copy files from one directory to another one, including subdirectories and
// nonexisting or newer files. Function returns number of files copied.
// This function is PHP implementation of Windows xcopy  A:\dir1\* B:\dir2 /D /E /F /H /R /Y
// Syntaxis: [$number =] dircopy($sourcedirectory, $destinationdirectory [, $verbose]);
// Example: $num = dircopy('A:\dir1', 'B:\dir2', 1);

function dircopy($srcdir, $dstdir, $verbose = false) {
  $num = 0;
  if(!is_dir($dstdir)) mkdir($dstdir);
  if($curdir = opendir($srcdir)) {
   while($file = readdir($curdir)) {
     if($file != '.' && $file != '..') {
       $srcfile = $srcdir . '\\' . $file;
       $dstfile = $dstdir . '\\' . $file;
       if(is_file($srcfile)) {
         if(is_file($dstfile)) $ow = filemtime($srcfile) - filemtime($dstfile); else $ow = 1;
         if($ow > 0) {
           if($verbose) echo "Copying '$srcfile' to '$dstfile'...";
           if(copy($srcfile, $dstfile)) {
             touch($dstfile, filemtime($srcfile)); $num++;
             if($verbose) echo "OK\n";
           }
           else echo "Error: File '$srcfile' could not be copied!\n";
         }                 
       }
       else if(is_dir($srcfile)) {
         $num += dircopy($srcfile, $dstfile, $verbose);
       }
     }
   }
   closedir($curdir);
  }
  return $num;
}
?>
 
Zuletzt bearbeitet:
Das Skript scheint aber für das Windows-Dateisystem entwickelt worden sein. Wenn die \\ durch einfache Schrägstriche ersetzt werden, sollte es mit allen Dateisystemen funktionieren.
 
Zurück