Hallo,
wie kann ich dieser rekursiven Kopierfunktion beibringen, nur dann eine Datei oder eine Verzeichnis zu kopieren bzw. zu überschreiben, wenn die Datei nicht bereits völlig identisch ist?
Ist eine Überprüfung über einen Hash-Wert möglich/sinnvoll oder über Dateiattribute besser?
Wer hat hier einen guten Ansatz für mich?
Hintergrund ist, dass ich viele Verzeichnisse/Ordner habe und diese per Schleife auf einige Verzeichnisse clonen möchte, aber ein bißchen Sorge habe, in den Script-timeout des Hosters zu geraten.
Grüße, Jörg
und hier die Funktion
function copyFolder($source, $dest, &$statsCopyFolder, $recursive = TRUE)
{
if (!is_dir($dest))
{
mkdir($dest);
}
$handle = @opendir($source);
if(!$handle)
return false;
while ($file = @readdir ($handle))
{
if (eregi("^\.{1,2}$",$file))
{
continue;
}
if(!$recursive && $source != $source.$file."/")
{
if(is_dir($source.$file))
continue;
}
if(is_dir($source.$file))
{
copyFolder($source.$file."/", $dest.$file."/", $statsCopyFolder, $recursive);
}
else
{
copy($source.$file, $dest.$file);
$statsCopyFolder['files']++;
$statsCopyFolder['bytes'] += filesize($source.$file);
}
}
@closedir($handle);
}