Foros del Web » Programando para Internet » PHP »

Problema al borrar directorio

Estas en el tema de Problema al borrar directorio en el foro de PHP en Foros del Web. Hola, tengo un problemilla. Resulta que tengo un directorio con imágenes. Tengo varias subcarpetas por cada una de las galerçias que tengo, y dentro de ...
  #1 (permalink)  
Antiguo 07/06/2008, 03:02
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Problema al borrar directorio

Hola, tengo un problemilla. Resulta que tengo un directorio con imágenes. Tengo varias subcarpetas por cada una de las galerçias que tengo, y dentro de estas tengo otra subcarpeta con las miniaturas de las imágenes. El problema es que quiero que cuando no queden más imágenes me borre la carpeta de esa galería así como su carpeta de miniaturas.

Lo que hago es un rmdir de la subcarpeta de miniaturas y si funciona (estaba vacía porque rmdir no funciona si hay archivos dentro) borro la de la galeria (que debería estar vacía después de borrar todo lo otro). Aquí el código:

Código PHP:
$directorio $path_gal."/thumbnails/";
$dir2 $path_gal;

if(
rmdir($directorio)){
    
rmdir($dir2);

El problema está en que me borra el primer directorio, el de las miniaturas-subdirectorio-, pero el otro no me lo borra. Y lo compruebo y está vacio ¿? Incluso he hecho esto:

Código PHP:
$directorio $path_gal."/thumbnails/";
$dir2 $path_gal;

if(
rmdir($directorio)){
$archivos scandir($dir2);
$num count($archivos);

for (
$i=0$i<=$num$i++) {
 
unlink ($archivos[$i]); 
}
    
rmdir($dir2);

para eliminar todo lo de ese directorio. Podéis darme alguna pista de qué es lo que falla?

Muchas gracias por adelantado!
  #2 (permalink)  
Antiguo 07/06/2008, 05:16
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 4 meses
Puntos: 24
Respuesta: Problema al borrar directorio

Puede que sea problema de permisos. Comprueba los permisos del directorio que no de deja borrar.
__________________
Grupos de Música
Pop Music Stars
  #3 (permalink)  
Antiguo 07/06/2008, 05:45
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al borrar directorio

Hola aloqui. Ya había pensado en eso pero no tiene pinta porque los dos directorios los he creado con los mismos permisos, y uno me dejo borrar-lo y el otro no.

Los havía creado com mkdir(---, 0700). Si creéis que debería dar más permisos me lo comentáis.

Aparte acabo de crearlos uno con 777 y tampoco me deja borrar el superior. Y además como podéis ver la ruta para borrar el de las miniaturas se contruye en base a la otra que no borra, por lo que el fallo tampoco es ese. No sé que hacer ya...
  #4 (permalink)  
Antiguo 07/06/2008, 06:02
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 4 meses
Puntos: 24
Respuesta: Problema al borrar directorio

Si tienes acceso con ssh, intenta borrarlo a mano a ver si te deja.
- Si no te deja, mira el error
- Si si te deja, quizá sea problema del "usuario". Mira a cual es el usuario propietario del directorio y el usuario con el que corre tu programa.

Otra posibilidad es que quede algún fichero oculto que no veas. Haz un "ls -l" desde línea de comandos, o mira el directorio con algún programa de ftp pues suelen mostrar los ficheros ocultos.
__________________
Grupos de Música
Pop Music Stars
  #5 (permalink)  
Antiguo 07/06/2008, 06:42
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al borrar directorio

Lo estoy haciendo todo en local de momento. Ya miré lo de que si había algo oculto y nada. A mano lo puedo borrar sin problemas, y está creado de la misma forma que el otro que sí me deja borrarlo, así que por ahí no puede ser...

Además probé la variación en la que miro si hay algo en el directorio y lo borro, como he puesto en el código que he pegado.

No sé yo lo que serà...
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 13:28.