Duplica un archivo y lo modifica con PHP

Función php lista para duplicar ficheros


Sencilla función programada en PHP lista para usar, abre un archivo y lo duplica con la posibilidad de realizar cambios en el directamente al vuelo. Solo necesitamos pasar a la función como mínimo el primer valor que seria el archivo a duplicar y el segundo valor sería el nombre del nuevo archivo.


/* TEST DE LA FUNCIÓN */
<?php 
  echo file_duplicar('file_original.php', 'nuevo_archivo.php');
?>

/* FUNCIÓN QUE ABRE ARCHIVO LO EDITA Y LO GUARDA COMO UNO NUEVO */
function file_duplicar($directorio_original, $directorio_nuevo)
{   
    if(file_exists($directorio_original)) {
        $file = fopen($directorio_original,'r');
        while(!feof($file)) { 
            $name = fgets($file);
            // TODAS LAS LINEAS QUEDAN ALMACENADAS EN LA VARIABLE $lineas
            $lineas[] = $name;
        }
        fclose($file);
    }

    // AHORA MODIFICAMOS LA LINEA 2 POR EJEMPLO, EN LA VARIABLE $lineas sería la posición 1, (empezamos por la 0)
    
    // ELIMINA LINEA
    #unset($lineas[2]);
    
    // MODIFICA LINEA
    #$lineas[2] = 'define(\'APP\', \''.APP.'\');'."\n";
    
    $lineas = array_values($lineas);
    
    // GUARDAMOS LINEA A LINEA EN UN NUEVO ARCHIVO ARCHIVO
    $file = fopen($directorio_nuevo, "w");
    foreach( $lineas as $linea ) {
        fwrite( $file, $linea );
    } 
    if(fclose( $file )){
      return TRUE;
    }
}