Foros del Web » Programando para Internet » PHP »

Ayuda con readdir()

Estas en el tema de Ayuda con readdir() en el foro de PHP en Foros del Web. ola.. cómo va?? les cuento.. tengo una galería de imágenes hecha en PHP.. que lee imágenes desde un directorio.. el problema que tengo, es que ...
  #1 (permalink)  
Antiguo 09/05/2008, 11:02
Avatar de fakulicious  
Fecha de Ingreso: mayo-2008
Ubicación: Mendoza
Mensajes: 140
Antigüedad: 16 años, 6 meses
Puntos: 2
Ayuda con readdir()

ola.. cómo va?? les cuento.. tengo una galería de imágenes hecha en PHP.. que lee imágenes desde un directorio.. el problema que tengo, es que UNO d lso archivos no lo lee.. es siempre el primer archivo..

1ro les muestro la galería..

http://www.vizion.com.ar/agne/gallery.php

ahora les pongo el código de TODO el archivo.. y después les voy a copiar solo la parte donde CREO ke está el error..

Código PHP:
<?PHP
// Inicio Sección Configuracion ---------------------------------------------------
$DirFotos 'fotos/images/'//Directorio donde se encuentran las imagenes para la galeria
$DirThumbnails 'fotos/thumbnails/';
$CantxCol 7//Cantidad de columnas (Elegir este de acuerdo al tamaño que le vamos a dar a las imagenes)
// Fin Sección Configuracion ---------------------------------------------------

$Cant 0// Variable para ser usada como contador

$ContenidoDir opendir("$DirThumbnails"); // Abrimos el directorio 

$Archivo=readdir($ContenidoDir); // Leemos el primer archivo que será "." (recuerden la estructura de los directorios de MS-DOS)
$Archivo=readdir($ContenidoDir); // Leemos el segundo archivo que será ".." (recuerden la estructura de los directorios de MS-DOS)
// De aqui en mas los archivos serán los nombres y extensiones de las fotos que se encuentran en el directorio abierto.

function XImagen($fXImagen){  // Esta función nos retornará el ancho de la imagen + algunos pixeles.
    
$DirX "$DirThumbnails";
    
$FotoX $fXImagen;
    
$URLfotoX $DirX.$FotoX;
    
$MasX 1// Cantidad de Pixeles que vamos agregar al ancho de la imagen para agregar un margen en la ventana. Quedará 10 Px. de margen de cada lado
    
if (file_exists($URLfotoX)){
        
$TamanoPX GetImageSize("$URLfotoX");
        
$TamanoX $TamanoPX[0] + $MasX;
        return 
$TamanoX;
    }
}

function 
YImagen($fYImagen){  // Esta función nos retornará el alto de la imagen + algunos pixeles.
    
$DirY "$DirThumbnails";
    
$FotoY $fYImagen;
    
$URLfotoY $DirY.$FotoY;
    
$MasY 1// Cantidad de Pixeles que vamos agregar al alto de la imagen para agregar un margen en la ventana. Quedará 10 Px. de margen de cada lado
    
if (file_exists($URLfotoY)){
        
$TamanoPY GetImageSize("$URLfotoY");
        
$TamanoY $TamanoPY[1] + $MasY;
        return 
$TamanoY;
    }
}

?>
<html>
<head>
<title>Galeria automatizada de imágenes Parte 2</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript" >
function preview (url, ancho, alto) {
    var v=window.open(url, '_blank', 'left=100,top=30,width=' + ancho + ',height=' + alto + ',toolbar=no,location=no,status=no,menubar=no,resizable=yes,scrollbars=Auto')
}
</script>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
  <table width="700" border="0" cellspacing="0" cellpadding="0">
    <TR> 
      <td width="10" align="left" valign="top">&nbsp;</td>
    </TR>
    <tr>
    <?php while ($Archivo=readdir($ContenidoDir)) { ?>
        <td align="center" valign="top">
            <table border="0" cellspacing="0" cellpadding="0">
                <tr align="left" valign="middle"> 
                    
            <td width="40"><a href="javascript:preview('zoom.php?img=<?php echo $DirFotos.$Archivo?>','660','520')"><img src="<?php echo $DirThumbnails.$Archivo?>" width="100" height="75" border="0"></a></td>
                </tr>
            </table>
        </td>
        <?php $Cant $Cant 1?>
        <?php if (($Cant $CantxCol) == 0){?>
    </TR>
        <TR> 
          
      <td width="10" align="left" valign="top">&nbsp;</td>
        </TR>
        <TR>
        <?php } else { ?>
            
      <td align="center" valign="middle">&nbsp;</td>
        <?php ?>
    <?php ?>
    <?php closedir($ContenidoDir); //Cerramos el directorio para no utilizar recursos del servidor inutilmente ?>
    </tr>
</table>
</div>
</body>
</html>
la parte donde CREO que está el error.. es esta:

Código PHP:
$ContenidoDir opendir("$DirThumbnails"); // Abrimos el directorio 

$Archivo=readdir($ContenidoDir); // Leemos el primer archivo que será "." (recuerden la estructura de los directorios de MS-DOS)
$Archivo=readdir($ContenidoDir); // Leemos el segundo archivo que será ".." (recuerden la estructura de los directorios de MS-DOS)
// De aqui en mas los archivos serán los nombres y extensiones de las fotos que se encuentran en el directorio abierto. 
porque en la foto que no me muestra.. pone como nombre de archivo solo un punto("fotos/images/.").. y justo es siempre el PRIMER archivo de la estructura.. aunque no sea el primero que se muestra en la galería..

si pueden ayudarme.. se los agradecería muchísimo.. xke me estoy volviendo loco buscandole la solución, y no la encuentro! =S

muchas gracias!


Fakulicious!*
  #2 (permalink)  
Antiguo 09/05/2008, 11:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Ayuda con readdir()

Modifica tu while:
Código PHP:
<?php
while ($Archivo=readdir($ContenidoDir)) {
if( 
$Archivo == "." || $Archivo == ".." ) continue;
?>
Saludos.
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 12:55.