Copiar directorios completos con PHP

Una función en PHP que debemos utilizar muchas veces sin duda alguna es el copy(), esta función la uso para generar un archivo en base a un template en texto plano, pero en algunas ocasiones nuestro template puede ser un directorio en donde tenemos que duplicar todo su contenido, esta simple función nos ayudara en estos problemas.

MySQL, PHP Hosting

function full_copy( $source, $target ) {
    if ( is_dir( $source ) ) {
        @mkdir( $target );
        $d = dir( $source );
        while ( FALSE !== ( $entry = $d->read() ) ) {
            if ( $entry == '.' || $entry == '..' ) {
                continue;
            }
            $Entry = $source . '/' . $entry;
            if ( is_dir( $Entry ) ) {
                full_copy( $Entry, $target . '/' . $entry );
                continue;
            }
            copy( $Entry, $target . '/' . $entry );
        }

        $d->close();
    }else {
        copy( $source, $target );
    }
}

En la practica podemos utilizarlo de esta manera.

$source ='/templates/template1/';
$destination = '/templates/newtemplate-'.date('Y-m-d');
full_copy($source, $destination);
Tags:  

 

Posteado el: 8/05/2010  por: Craftyman

Post Relacionados

Comentarios