Foros del Web » Programando para Internet » PHP »

evitar apertura de subdirectorios con is dir

Estas en el tema de evitar apertura de subdirectorios con is dir en el foro de PHP en Foros del Web. hola estoy haciendo una galeria fotografica que se genera sola con las imagenes que hay en un directorio. pero tengo un problemica. resulta que el ...
  #1 (permalink)  
Antiguo 02/10/2009, 06:29
 
Fecha de Ingreso: octubre-2009
Mensajes: 3
Antigüedad: 14 años, 6 meses
Puntos: 0
evitar apertura de subdirectorios con is dir

hola estoy haciendo una galeria fotografica que se genera sola con las imagenes que hay en un directorio.

pero tengo un problemica. resulta que el gestor de imagenes que estoy usando para subir las imagenes me crea un subdirectorio con las miniaturas en el directorio donde tengo las imagenes, y al leer los archivos que hay en el directorio me lee tambien ese subdirectorio y casca la galeria de imagenes.

este es el codigo que estoy usando:
Código PHP:
<?php
$dir 
"../Imagenes/$id";
 if ( 
is_dir$dir ) )
 {
  if ( 
$dh opendir$dir ) )
  {
   while ( ( 
$file readdir$dh ) ) !== false )
   {
    if ( 
$file != "." && $file != ".." )
    {
        echo 
'{ src:"'.$dir.'/'.$file.'" },'
    }
   }
  }
  
closedir$dh );
 }  
?>
quisiera saber si hay alguna forma de evitar que lea ese subdirectorio.

muchas gracias a todos.
  #2 (permalink)  
Antiguo 02/10/2009, 08:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: evitar apertura de subdirectorios con is dir

has un filtro por el nombre del subdirectorio con miniaturas y lo ignoras
  #3 (permalink)  
Antiguo 02/10/2009, 08:58
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: evitar apertura de subdirectorios con is dir

El filtro serìa asì:

Cita:
if ( $file == "directorio_miniaturas" ) {}
Con lo cual no haces absolutamente nada si $file es la carpeta de miniaturas.
  #4 (permalink)  
Antiguo 02/10/2009, 10:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 3
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: evitar apertura de subdirectorios con is dir

genial ya funciona.

me costo encontrar la posicion del tema y aparte le meti un else que no se si es totalmente necesario pero bueno el caso es que funciona perfectamente.

este es el código funcionando por si a alguien le sirve

Código PHP:
 if ( is_dir$dir ) )
 {
  if ( 
$dh opendir$dir ) )
  {
   while ( ( 
$file readdir$dh ) ) !== false )
   {        
   if ( 
$file == "mcith" ) { } else {
    if ( 
$file != "." && $file != ".." 
    {
        echo 
'{ src:"'.$dir.'/'.$file.'" },';
    } }
   }
  }
  
closedir$dh );
 }  
?> 
el subdirectorio en concreto se llamaba mcith.

muchisimas gracias por la ayuda
  #5 (permalink)  
Antiguo 02/10/2009, 10:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: evitar apertura de subdirectorios con is dir

si lo piensas, un else es la negación de la primer parte...

y como el if() lo haces vacío... pues no tiene sentido, osea..
Código PHP:
if ($foo == 'bar') { }
else { echo 
'OK'; }

// es igual a...

if ($foo != 'bar') { echo 'OK'; } 

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

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 02/10/2009, 10:13
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: evitar apertura de subdirectorios con is dir

Yo para leer directorios uso una serie de condicionales. Esto, para:

- eliminar "." y ".."
- detectar si se trata de un mp3 y darle un trato.
- detectar si se trata de una imagen.
- detectar si es xml.
- detectar si se trata de subdirectorios que leer.

Para esto, utilizo una serie de condicionales:

If () {}
elseif () {}
elseif() {}
etc.
else {}

Cosa que bien vendria en tu caso, para hacer un codigo limpio.

Cita:
if ( $file == "mcith" ) { } else {
if ( $file != "." && $file != ".." )
{
echo '{ src:"'.$dir.'/'.$file.'" },';
} }
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 17:02.