Foros del Web » Programando para Internet » PHP »

¿Como borrar todos los archivos de un directorio?

Estas en el tema de ¿Como borrar todos los archivos de un directorio? en el foro de PHP en Foros del Web. Hola gente: Hay algun codigo que permita borrar todos los archivos contenidos en un directorio, por supuesto que tiene permisos 777. Por ej "imagenes". Gracias ...
  #1 (permalink)  
Antiguo 24/08/2006, 08:16
 
Fecha de Ingreso: diciembre-2004
Mensajes: 103
Antigüedad: 13 años
Puntos: 0
¿Como borrar todos los archivos de un directorio?

Hola gente:
Hay algun codigo que permita borrar todos los archivos contenidos en un directorio, por supuesto que tiene permisos 777. Por ej "imagenes".
Gracias desde ya.
  #2 (permalink)  
Antiguo 24/08/2006, 08:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Función directa en PHP no hay (que yo sepa).

Podrías ejecutar un comando en el S.O. del servidor para borrar tus directorios con archivos (el comando depende del S.O. de tu servidor .. lo mismo que si lo hicieras por línea de comandos o shell). Desde PHP lo ejecutarías por funciones como exec() . .system() .. etc.

Para no depende si tienes acceso a ejecutar comandos en el S.O. del servidor o incluso de que S.O. concreto corre el servidor .. deberías recorrer todo el directorio que necesitas borrar sus archivos para obtener sus nombres de archivos y de ahí .. aplicar un unlink() para borrar uno por uno.

Con funciones como scandir() (PHP 5) o equivalentes para PHP 4 (oepndir() .. etc) Puedes recorrer el directorio indicado e ir aplicando el unlink() a cada archivo (nombre) obtenido (previa validación de que no sea un directorio con is_dir() ..):

http://www.php.net/manual/en/function.scandir.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 24/08/2006, 13:17
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
cluster ... toda la razon como siempre, pero aqui les dejo mi pequeño aporte ...
una funcion recursiva que permite borrar el todo el contenido de un directorio e incluso subdirectorios con sus respectivos archivos...

espero que les sea util....

Código PHP:
<?
function remove_directory($dir) {
     if(
substr($dir, -11) == "/"){
       
$dir substr($dir0strlen($dir) - 1);
     }
     if (
$handle opendir("$dir")) {
       while (
false !== ($item readdir($handle))) {
         if (
$item != "." && $item != "..") {
           if (
is_dir("$dir/$item")) { remove_directory("$dir/$item");  }
           else { 
unlink("$dir/$item"); }
         }
       }
       
closedir($handle);
       
rmdir($dir);
     }
   }
?>
Aclaro .. este script no lo hice yo, lo saque de un ejemplo de la pagina oficial de php

saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:12.