Foros del Web » Programando para Internet » PHP »

comprobar subdirectorios vacios

Estas en el tema de comprobar subdirectorios vacios en el foro de PHP en Foros del Web. Tengo un buble para leer un directorio. Mi intencion ahora es leer los subdirectorios que haya ahi, para incluirlos en un menu. Pero si estuvieran ...
  #1 (permalink)  
Antiguo 24/10/2009, 11:38
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
comprobar subdirectorios vacios

Tengo un buble para leer un directorio. Mi intencion ahora es leer los subdirectorios que haya ahi, para incluirlos en un menu. Pero si estuvieran vacios esos subdirectorios, no los imprimiria.

Este es el codigo que tengo dentro del bucle while para lee el directorio padre:

Código PHP:
elseif (is_dir($path.$elemento)){
            
            
// condicion para saber si el directorio esta o no vacio.
            
$subdir opendir($path.$elemento);
                while (
$algo_hay readdir($subdir))
                {
                if (
$algo_hay == "." or $algo_hay == ".." or is_file($algo_hay)) {// is file descarta lo que no sea foto}
                
else {
                
$hay_fotos[] = $algo_hay
                
$tengo_fotos count($hay_fotos);
                }
                
                }; 
// end while subdir
                //unset($tengo_fotos);        
                
closedir($subdir);
                
                if (isset(
$tengo_fotos) && $tengo_fotos 1) {
            
$directorio_ombliguitos[] = "\t\t\t<li class='ombliguitos'>\r\n"
                
."\t\t\t<a href='ombliguitos.php?cargar=".$path.$elemento."/' >".$elemento."</a>\r\n"
                
."\t\t\t</li>\r\n";
                }; 
Funciona perfecto en el directorio local (windows xp), pero no online (unix).

Y esta es la web: http://diseñomadreselva.com.ar/index.php

Donde dice "diseño para niños" solo deberia haber un item, no tres, porque dos de esas carpetas estan vacias.

Última edición por mayid; 24/10/2009 a las 11:49
  #2 (permalink)  
Antiguo 24/10/2009, 12:50
Avatar de luckystrikede11  
Fecha de Ingreso: octubre-2009
Ubicación: Concepcion, Chile
Mensajes: 240
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: comprobar subdirectorios vacios

puedes usar la funcion file_exists() de PHP

mira este tema http://www.forosdelweb.com/f18/directorios-php-679322/
  #3 (permalink)  
Antiguo 24/10/2009, 14:27
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: comprobar subdirectorios vacios

Gracias, pero no es eso.

file_exists() se usa para comprobar ficheros especificos.

Yo necesito saber si el directorio esta vacio, y con esto que compuse puedo hacerlo en mi servidor local, pero no funciona en internet.
  #4 (permalink)  
Antiguo 24/10/2009, 14:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: comprobar subdirectorios vacios

Cita:
Iniciado por mayid Ver Mensaje
[...] Yo necesito saber si el directorio esta vacio, y con esto que compuse puedo hacerlo en mi servidor local, pero no funciona en internet.
pues muestranos tu código que funciona en local... tal ves así te podamos decir que sucede

aunque es muy simple averiguarlo, solo debes abrir la carpeta con opendir()

iterar leyendo con readdir() y almacenar todo en una array, o bien... contarlos con el ciclo, si solo existen '.' y '..' entonces la carpeta esta vacía

cierras con closedir(), y bingo!

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/10/2009, 14:37
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: comprobar subdirectorios vacios

Listo. Parece que tenia que borrar la variable (array) que usaba para comprobar si habia archivos, porque quedaba seteada:

Al final del bucle agregué:

Cita:
if (isset($tengo_fotos)) {unset($tengo_fotos);};
En mi servidor las carpetas vacias eran las ultimas en leerse, y en internet se lein primero las carpetas llenas, y el array quedaba seteado.
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:03.