Copiar directorios completos con PHP

4
521

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);
http://Fine-wood-working.com/
jfdghjhthit45

4 COMMENTS

  1. Como se utiliza? es que conozco poco de eso..
    tengo un directorio y quiero que cada ves que el usuario le de clic a un botón que diga «crear» el directorio se copie

Comments are closed.