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.
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);

Comentarios