Necesito poder realizar el borrado a partir de un directorio dado y poder determinar si elimino tambien la carpeta que envio de referencia o si deseo eliminar solo el contenido que posea dentro suyo (archivos y/o subcarpetas), lo ejemplificare con la siguiente grafica:
Código HTML:
carpeta_01 |____ archivo_01 |____ archivo_02 |____ archivo_03 |____ carpeta_02 |____ archivo_04 |____ archivo_05 |____ carpeta_03 |____ carpeta_04 |____ archivo_06
- la ruta a partir del cual hacer el borrado de archivos y/o subcarpetas.
- un valor que indique si eliminar la carpeta que se envia como ruta principal.
Código PHP:
Ver original
<?php function deldir($directorio, $dirPrincipal, $delDirPasado) { { $porBorrar = $directorio . $enlace; if(is_dir($porBorrar) && ($enlace != "." && $enlace != "..")) { deldir($porBorrar, $dirPrincipal, $delDirPasado); } } { # 0: NO eliminar raiz | 1: SI eliminar raiz if($delDirPasado == 1) { $directorio = $dirPrincipal; } } } # llamada a la funcion: deldir(url_carpeta, url_carpeta, eliminarRaiz); # tanto el parametro 1 y 2 son iguales, el parametro 3 indica con 0: NO eliminar raiz | 1: SI eliminar raiz deldir("carpeta_01", "carpeta_01", 0); ?>
Teniendo en cuenta esto, la idea es que si envio como carpeta a borrar "carpeta_01" y como parametro 3 el valor "0", no elimine la "carpeta_01", pero si envio como parametro 3 el valor "1" si lo haga.
Si prueban el ejemplo notaran que enviando 0 ó 1 en el parametro 3 de todas maneras borra la carpeta raiz pasada.
¿Alguien me podría ayudar para ver donde esta el error? Desde ya muchas gracias.