Saltar al contenido

mover todos los archivos y carpetas de una carpeta a otra?

Este dilema se puede solucionar de diversas formas, pero en este caso te damos la que para nosotros es la solución más completa.

Solución:

esto es lo que uso

   // Function to remove folders and files 
    function rrmdir($dir) 
        if (is_dir($dir)) 
            $files = scandir($dir);
            foreach ($files as $file)
                if ($file != "." && $file != "..") rrmdir("$dir/$file");
            rmdir($dir);
        
        else if (file_exists($dir)) unlink($dir);
    

    // Function to Copy folders and files       
    function rcopy($src, $dst) 
        if (file_exists ( $dst ))
            rrmdir ( $dst );
        if (is_dir ( $src )) 
            mkdir ( $dst );
            $files = scandir ( $src );
            foreach ( $files as $file )
                if ($file != "." && $file != "..")
                    rcopy ( "$src/$file", "$dst/$file" );
         else if (file_exists ( $src ))
            copy ( $src, $dst );
    

Uso

    rcopy($source , $destination );

Otro ejemplo sin eliminar el archivo o carpeta de destino

    function recurse_copy($src,$dst)  
        $dir = opendir($src); 
        @mkdir($dst); 
        while(false !== ( $file = readdir($dir)) )  
            if (( $file != '.' ) && ( $file != '..' ))  
                if ( is_dir($src . '/' . $file) )  
                    recurse_copy($src . '/' . $file,$dst . '/' . $file); 
                 
                else  
                    copy($src . '/' . $file,$dst . '/' . $file); 
                 
             
         
        closedir($dir); 
     

Consulte: http://php.net/manual/en/function.copy.php para obtener ejemplos más jugosos

Gracias 🙂

Utilizar rename en lugar de copy.

A diferencia de la función C con el mismo nombre, rename puede mover un archivo de un sistema de archivos a otro (desde PHP 4.3.3 en Unix y desde PHP 5.3.1 en Windows).

Necesitas la función personalizada:

Move_Folder_To("./path/old_folder_name",   "./path/new_folder_name"); 

Código de función:

function Move_Folder_To($source, $target)
    if( !is_dir($target) ) mkdir(dirname($target),null,true);
    rename( $source,  $target);

Aquí puedes ver las comentarios y valoraciones de los lectores

Si te sientes suscitado, eres capaz de dejar un post acerca de qué te ha parecido esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *