Foros del Web » Programando para Internet » PHP »

Borrar el contenido de una carpeta

Estas en el tema de Borrar el contenido de una carpeta en el foro de PHP en Foros del Web. Que tal amigos quiciera saber como borro una carpeta, con sus subcarpetas y los archivos y todo lo que halla en esta carpeta.. actualmente borro ...
  #1 (permalink)  
Antiguo 27/02/2005, 22:31
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
Borrar el contenido de una carpeta

Que tal amigos quiciera saber como borro una carpeta, con sus subcarpetas y los archivos y todo lo que halla en esta carpeta..
actualmente borro un archivocon la funcion unlink()
pero ahora necesito saber como borro tod la carpeta, de una manera facil y sencilla... no se si halla alguna funcion que em pueda ayudar con esto, uds diran
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 28/02/2005, 02:41
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 14 años
Puntos: 2
Deberías usar las funciones FTP y el comando ftp_rmdir($idConex,$directorio)
En http://www.phpclasses.org puedes encontrar clases ya hechas y documentadas para estas cosas.
dobeto
  #3 (permalink)  
Antiguo 28/02/2005, 20:49
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
No hay otra foma

No hay otra forma que no se asi?
es decir me parece medio maluco tener que utilizar el FTP
Acaso no hay otra forma de poder hacerlo?
__________________
SEO en Medellin
  #4 (permalink)  
Antiguo 28/02/2005, 20:59
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Utiliza la función rmdir()
http://www.php.net/rmdir

Saludos
  #5 (permalink)  
Antiguo 28/02/2005, 21:50
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Yo uso esta funcion para eso:

Código PHP:
// esta es la función

function deldir($dir){
    
$current_dir opendir($dir);
    while(
$entryname readdir($current_dir)){
        if(
is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")){
            
deldir("${dir}/${entryname}");  
        }elseif(
$entryname != "." and $entryname!=".."){
            
unlink("${dir}/${entryname}");
        }
    }
    
closedir($current_dir);
    
rmdir(${'dir'});


// y lo aplicas con

deldir("pathdeldirectorioaborrar"); 
__________________
oohh... quisiera ser godines!!!
  #6 (permalink)  
Antiguo 01/03/2005, 14:54
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Claro...
Si lees en la documentación de rmdir() que te puse, verás que el directorio sólo puede borrarse cuando está vacío.
Por eso la función que pone safe lo que hace es recorrer todo el directorio borrando todos sus archivos con unlink() (Si encuentra subdirectorios, se hace una llamada recursiva) y una vez que el directorio está vacío lo borra con rmdir().

Saludos
  #7 (permalink)  
Antiguo 01/03/2005, 15:16
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
gracias a todos

pewro tengo una preguntica:

la fucion que em pone safe
borra todo lo que tenga una carpeta... por decir algo si tiene 2 sub carpetas y estas a su vez tienen 3 subcarpetas y estas a su vez tienen 4 sub carpetas


y todas las carpetas y subcarpetas poseen archivos

esa funcion borraria todo sin dejar rastro?
__________________
SEO en Medellin
  #8 (permalink)  
Antiguo 01/03/2005, 15:21
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
HOla:
Como dije:
La función recorre todo el contenido de un directorio borrando archivos... si encuentra un subdirectorio, se hace una llamada recursiva a la misma función, por lo tanto también borrará todo el contenido de dicho subdirectorio y así para la cantidad de niveles que existan por debajo del padre.
Puiedes verlo en esta parte:
Código PHP:
if(is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")){
            
deldir("${dir}/${entryname}"); 
Lo mejor sería que hagas una prueba para que veas cómo funciona.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:25.