Foros del Web » Programando para Internet » PHP »

Eliminar Directorios

Estas en el tema de Eliminar Directorios en el foro de PHP en Foros del Web. Buenas tengo un directorio que esta asi: -files --carpeta x ----archivox --carpeta z ----archivo z y asi... la cosa es que cada carpeta tiene su ...
  #1 (permalink)  
Antiguo 19/10/2008, 22:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Eliminar Directorios

Buenas tengo un directorio que esta asi:

-files
--carpeta x
----archivox
--carpeta z
----archivo z

y asi...

la cosa es que cada carpeta tiene su archivo unico lo que quiero hacer es tomar la fecha de ultimo acceso de los archivos con fileatime(), luego comprarla con otra fecha, que esta en una variable y si la fecha del archivo es mayor al de la fecha, eliminar el archivo y la carpeta.

bueno me lei mil y un formas de hacerlo, le di vueltas y vueltas y no puedo dilucidar con esto, porfavor una mano...


gracias
  #2 (permalink)  
Antiguo 20/10/2008, 02:27
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Eliminar Directorios

para eliminar una carpeta esta debe estar vacía así que si vas a eliminar un archivo dentro de esta carpeta y luego la carpeta y esta contiene otro archivo no podrás.... espero se entienda eso primero, ahora si quieres eliminar todo debes eliminar los archivos dentro de la carpeta, para ello utiliza la función unlink(); luego que se eliminan los o el archivo puedes eliminar la carpeta con la función rmdir(); echale una miradita al manual php si tienes dudas vuelves :)
saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 20/10/2008, 08:20
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Eliminar Directorios

Que tal AlvaroX, leiste en el manual las funciones para trabajar los directorios?, opendir(), readdir(), ahora dices que has intentado hacerlo, si es así publica el código que utilizas así será mas facil ayudarte a solucionar el porblema.




Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #4 (permalink)  
Antiguo 20/10/2008, 10:32
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Eliminar Directorios

Cita:
Iniciado por Carlojas Ver Mensaje
Que tal AlvaroX, leiste en el manual las funciones para trabajar los directorios?, opendir(), readdir(), ahora dices que has intentado hacerlo, si es así publica el código que utilizas así será mas facil ayudarte a solucionar el porblema.




Saludos.
si los lei, pero no puedo lograr lo que quiero.
  #5 (permalink)  
Antiguo 20/10/2008, 10:39
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Eliminar Directorios

por que no obtienes su fecha de ultimo acceso [fileatime()] y despues la comparas con la fecha de tu variable y si es mayor haces un codigo para eliminarla:
unlink($archivo) y rmdir($carpeta).

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 20/10/2008, 16:18
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Eliminar Directorios

Cita:
Iniciado por masterojitos Ver Mensaje
por que no obtienes su fecha de ultimo acceso [fileatime()] y despues la comparas con la fecha de tu variable y si es mayor haces un codigo para eliminarla:
unlink($archivo) y rmdir($carpeta).

suerte.
pero como hago eso para todos los archivos y carpetas, ese es mi problema, y repito ya trate de muchas y ninguna me funciono.

gracias por su ayuda, pero necesito mas orientacion...

gracias.
  #7 (permalink)  
Antiguo 20/10/2008, 16:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 71
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Eliminar Directorios

has bucles for, eliminas con unlink() los archivos y despues eliminas el directorio con rmdir();



si los archivos estan con permisos restringidos antes de eliminarlos ponle permisos con chmod


salu2
  #8 (permalink)  
Antiguo 20/10/2008, 16:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Eliminar Directorios

Cita:
Iniciado por MegaZord Ver Mensaje
has bucles for, eliminas con unlink() los archivos y despues eliminas el directorio con rmdir();



si los archivos estan con permisos restringidos antes de eliminarlos ponle permisos con chmod


salu2
, pero no puedo dilucidar....
  #9 (permalink)  
Antiguo 20/10/2008, 21:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar Directorios

Cita:
Iniciado por AlvaroX Ver Mensaje
pero como hago eso para todos los archivos y carpetas, ese es mi problema, y repito ya trate de muchas y ninguna me funciono.

gracias por su ayuda, pero necesito mas orientacion...

gracias.
Revisa en los comentarios de la funcion rmdir(), hay varias funciones recursivas para borrar carpetas que tienen archivos.
Seria solamente editarlo un poquito para si la fecha de el archivo es X, decidir si eliminarlo o no.
  #10 (permalink)  
Antiguo 20/10/2008, 22:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Eliminar Directorios

Cita:
Iniciado por Ronruby Ver Mensaje
Revisa en los comentarios de la funcion rmdir(), hay varias funciones recursivas para borrar carpetas que tienen archivos.
Seria solamente editarlo un poquito para si la fecha de el archivo es X, decidir si eliminarlo o no.
ya probe y siempre me tiraba un error.
  #11 (permalink)  
Antiguo 20/10/2008, 22:02
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar Directorios

¿Que error te da?
  #12 (permalink)  
Antiguo 21/10/2008, 10:02
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Eliminar Directorios

Cita:
Iniciado por Ronruby Ver Mensaje
¿Que error te da?
tengo este script:

<?php

include 'fecha.php'; //valor en variable $fecha

$path="files";

$handle = opendir($path);
while($file = readdir($handle))
{
if($file != "." && $file != ".." && $file != "Thumbs.db")
{
$path2 = "$path/$file";
$handle2 = opendir($path2);
while($file2 = readdir($handle2))
{
if($file2 != "." && $file2 != ".." && $file2 !="Thumbs.db")
{
if(fileatime("$path2/$file2") >= $fecha)
{
if(unlink("$path2/$file2"))
{
rmdir("$path2");
}
}
}
}
}
}

?>
  #13 (permalink)  
Antiguo 21/10/2008, 10:09
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Eliminar Directorios

en tu variable $path="files"; falta /
tiene que se $path="files/";

y no le des comillas a las variables rmdir("$path2");

deja tu codigo asi:

Código PHP:

<?php

include 'fecha.php'//valor en variable $fecha

$path="files/";

$handle opendir($path);
while(
$file readdir($handle))
{
if(
$file != "." && $file != ".." && $file != "Thumbs.db")
{
$path2 $path.$file;
$handle2 opendir($path2);
while(
$file2 readdir($handle2))
{
if(
$file2 != "." && $file2 != ".." && $file2 !="Thumbs.db")
{
if(
fileatime($path2.$file2) >= $fecha)
{
if(
unlink($path2.$file2))
{
rmdir($path2);
}
}
}
}
}
}

?>
suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #14 (permalink)  
Antiguo 21/10/2008, 12:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Eliminar Directorios

me sigue tirando errores....

Última edición por AlvaroX; 21/10/2008 a las 12:35
  #15 (permalink)  
Antiguo 21/10/2008, 12:57
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Eliminar Directorios

pero dinos que error sale ps.... pon el error que te muestra.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #16 (permalink)  
Antiguo 21/10/2008, 18:17
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Eliminar Directorios

Cita:
Iniciado por masterojitos Ver Mensaje
pero dinos que error sale ps.... pon el error que te muestra.
PD: agrege el chmod(0777)

Warning: rmdir(files/Copia (2) de Nueva carpeta) [function.rmdir]: Permission denied in C:\Archivos de programa\xampp\htdocs\utiles\up\test.php on line 23

Warning: rmdir(files/Copia (3) de Nueva carpeta) [function.rmdir]: Permission denied in C:\Archivos de programa\xampp\htdocs\utiles\up\test.php on line 23

Warning: rmdir(files/Copia de Nueva carpeta) [function.rmdir]: Permission denied in C:\Archivos de programa\xampp\htdocs\utiles\up\test.php on line 23

Warning: rmdir(files/Nueva carpeta) [function.rmdir]: Permission denied in C:\Archivos de programa\xampp\htdocs\utiles\up\test.php on line 23

Warning: rmdir(files/Nueva carpeta) [function.rmdir]: Permission denied in C:\Archivos de programa\xampp\htdocs\utiles\up\test.php on line 23
  #17 (permalink)  
Antiguo 22/10/2008, 01:34
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Eliminar Directorios

la carpeta tiene archivos dentro? existe en ese directorio? tiene los permisos 0777?
mmmmm de lo contrario no deberia darte error al hacer un rmdir();
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #18 (permalink)  
Antiguo 22/10/2008, 08:18
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Eliminar Directorios

haber, dime si has verificado que se eliminaran los archivos que contenia esa carpeta y segundo, al parecer no tienes permisos para eliminar carpetas.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
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 05:52.