simplecontent

PHP Snippets und Beispiele

Inhaltsverzeichnis A-Z Register
Beispiel ausführen

Verzeichnis kopieren

Kopieren eines Verzeichnisses

Mit dieser Funktion lassen sich Verzeichnisse einschliesslich der Unterverzeichnisse kopieren. Hinweis: Im Beispiel werden als Rechte überall 0777 vergeben. Das ist je nach Einsatzzweck und Einsatzumgebung zu beachten. Das PHP Code Beispiel:
<?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($TargetDirectory0777); 
    }


    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($target0777); 
        }
    }
    return 
true;
}

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

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

?>

Dieses PHP Snippet soll in erster Linie als Beispiel und Anregung für eigene Bemühungen dienen.
Gerne darf man es für Projekte aller Art benutzen.
Möchte jemand das Snippet also solches in ähnlicher oder anderer Form veröffentlichen ist ein kleiner Hinweis auf simplecontent.net nicht zuviel verlangt oder Herr Koch?
Für die Abwesenheit von Fehlern kann natürlich keine Gewähr gegeben werden.