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)