Verzeichnis kopieren

Kopieren eines Verzeichnisses
Beispiel ausführen
Mit dieser Funktion lassen sich Verzeichnisse einschliesslich der Unterverzeichnisse kopieren. Hinweis: Im Beispiel werden als Rechte überall 0755 vergeben. Das ist je nach Einsatzzweck und Einsatzumgebung zu beachten.
<?php

function CopyDirectory($SourceDirectory$TargetDirectory)
{

    
// add trailing slashes
    
if (substr($SourceDirectory,-1) != '/'){
        
$SourceDirectory .= '/';
    }
    if (
substr($TargetDirectory,-1) != '/'){
        
$TargetDirectory .= '/';
    }



    
$handle = @opendir($SourceDirectory);
    if (!
$handle) {
        die(
"Das Verzeichnis $SourceDirectory konnte nicht geöffnet werden.");
    }


    if (!
is_dir($TargetDirectory)) {
        
mkdir($TargetDirectory);
        
chmod($TargetDirectory0755); 
    }


    while (
$entry readdir($handle) ){
        if (
$entry[0] == '.'){
            continue;
        }

        if (
is_dir($SourceDirectory.$entry)) {
            
// Unterverzeichnis
            
$success CopyDirectory($SourceDirectory.$entry$TargetDirectory.$entry);

        }else{
                
$target $TargetDirectory.$entry;
            
copy($SourceDirectory.$entry$target);
            
chmod($target0755); 
        }
    }
    return 
true;
}

$source 'altes_verzeichnis';
$target 'neues_verzeichnis';

// auskommentiert, da hier nur als Beispiel und daher ohne Funktionalität
// $success = CopyDirectory($source, $target);

?>

Benutzte Funktionen


Hinweise zum DatenschutzImpressum © 2005-2008 S. Eickhoff