Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/03/2012, 12:05
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
no furula depurar directorio

que tal gente

estuve buscando mucho por aquí por el foro el codigo para borrar carpetas y archivos y pude formar este codigo que me funciona bien si dentro de la carpeta solo hay archivos:

Código PHP:
$ruta"../../images/uploads/".$nombre_carpeta;
foreach (
glob($ruta."/*.*") as $filename) { 
    
unlink($filename); 
}
rmdir ($ruta); 
pero si hay una carpeta dentro, algo asi:

carpeta
--------archivo1
--------archivo2
--------subcarpeta1
-----------------------archivo1
-----------------------archivo2

ya no funciona, entonces me avente otra busqueda en el foro y arme otro codigo sencillo asi:

Código PHP:
$ruta"../../images/uploads/".$nombre_carpeta;
foreach (
glob($ruta."/*.*") as $filename) { 
        if (
is_dir($filename)) { 
            
rmdir($filename); 
           } 
        else{
            
unlink($filename);
        } 
}
rmdir ($ruta); 
pero no me funciona, solo borra los archivos y la carpeta no,

sucede que rmdir borra solo si esta vacia, entonces la logica seria:

al preguntar if (is_dir($filename)) {

antes de rmdir($filename);

debo entrar a la subcarpeta y borrar lo de adentro, luego salirme de ella y ahora si hacer el rmdir($filename);

como puedo hacer eso?

ahora, pasa que probe asi:

carpeta
--------archivo1
--------archivo2
--------subcarpeta1

para ver si al estar vacía la subcarpeta la borraba y aun asi no la borra

gracias de antemano