Foros del Web » Programando para Internet » PHP »

identificar tipo de archivo

Estas en el tema de identificar tipo de archivo en el foro de PHP en Foros del Web. Que tal. Estoy trabajando actualmente con phpThumb, pero tengo un pequeño problema, tengo en una carpeta 4 imagenes con extensión .jpeg, y he realizado el ...
  #1 (permalink)  
Antiguo 06/10/2011, 13:23
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
identificar tipo de archivo

Que tal.

Estoy trabajando actualmente con phpThumb, pero tengo un pequeño problema, tengo en una carpeta 4 imagenes con extensión .jpeg, y he realizado el código para traer sus thumbs y poder crear una galería.

El punto es que en la carpeta hay otro archivo que me genera conflicto a la hora de crear la galería. Ya revisé, es un archivo con extensión *.ini

Quiero que sólo me traiga las imagenes .jpeg e ignore el archivo que me hace conflicto.

Va el código donde creo esta el problema:

Código PHP:
    $directorio "resize_img/imagenes/";

    if(
is_dir($directorio)){
        if(
$dd opendir($directorio) or die ('no puedo encontrar/abrir directorio')){
            while((
$archivo readdir($dd)) !== false){
                if(
filetype($directorio.$archivo) or die('no funciona') == 'file'){
                    if(
is_readable($directorio.$archivo)){
                        if(
is_file($directorio.$archivo)){
                            
$imagenes[]=$directorio.$archivo;
                        }
                    }
                }
            }
            
closedir($dd);
        }
    } 
Gracias por su tiempo y comentarios
  #2 (permalink)  
Antiguo 06/10/2011, 14:44
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: identificar tipo de archivo

te genera conflicto

y tu crees que la gente aqui es adivina para saber cual es el conflicto, debes colocar cual es el error que muestra.

y preferiblemente mostrar el codigo completo
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #3 (permalink)  
Antiguo 07/10/2011, 08:05
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: identificar tipo de archivo

No sé si hayas usado phpThumb

Pero ahí va el código
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Galería segunda versión</title>

<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>

<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

<link rel="stylesheet" href="css/estilo.css" type="text/css" media="screen" />
  
</head>
<body>

<?php

    $directorio 
"resize_img/imagenes/";

    if(
is_dir($directorio)){
        if(
$dd opendir($directorio) or die ('no puedo encontrar/abrir directorio')){
            while((
$archivo readdir($dd)) !== false){
                if(
filetype($directorio.$archivo) or die('no funciona') == 'file'){
                    if(
is_readable($directorio.$archivo)){
                        if(
is_file($directorio.$archivo)){
                            
$imagenes[]=$directorio.$archivo;
                        }
                    }
                }
            }
            
closedir($dd);
        }
    }


    if(
is_array($imagenes)){
        
        echo 
"<div class='header'><span class='titulo'> Galer&iacute;a con Lightbox</span></div>";
        echo 
"<div id='contenedor'><table border='0' cellspacing='40' cellpadding='40' align='center'> <tr>";
        
//var_dump($imagenes);

        
$contador=count($imagenes);
    

        foreach(
$imagenes as $imagen){

        
$contadorImagenes++;
        
$contadorColumnas++;

        echo 
"<td id='resplandorblanco'><a class='linkopacity' href='".$imagen."' rel='lightbox[roadtrip]'><img src='phpThumb/phpThumb.php?src=../".$imagen."&w=160&h=120' border='0'/></a></td>";
        
        if(
$contadorColumnas==&& $contadorImagenes!=$contador){

                echo 
"</tr><tr>";
                
$contadorColumnas=0;
            
            
            }
    
        }
        
        echo 
"</tr></table>";
        echo 
"</div>";
}
?>

</body>
</html>
El error:
  #4 (permalink)  
Antiguo 07/10/2011, 08:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: identificar tipo de archivo

Te fataría agregar otro condicional donde compruebes la extensión del archivo y solo permitas pasar archivos jpeg, jpg, gif, png.

El código como lo tienes ahora agrega todos los archivos, solo te faltaría usar por ejemplo pathinfo para extraer la extensión y compararla con una lista.

Saludos.
  #5 (permalink)  
Antiguo 07/10/2011, 08:22
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: identificar tipo de archivo

Mi solución (cuando sólo son imágenes con extensión jpg):

Código PHP:

    
if(is_dir($directorio)){
        if(
$dd opendir($directorio) or die ('no puedo encontrar/abrir directorio')){
            while((
$archivo readdir($dd)) !== false){
                if(
filetype($directorio.$archivo) or die('no funciona') == 'file'){
                    if(
is_readable($directorio.$archivo)){
                        if(
is_file($directorio.$archivo)){
                            
$path_parts pathinfo($directorio.$archivo,PATHINFO_EXTENSION);
                            if(
$path_parts=="jpg"){
                                
$imagenes[]=$directorio.$archivo;
                            }
                            
                        }
                    }
                }
            }
            
closedir($dd);
        }
    } 
Muchas gracias GatorV !

Última edición por venom_mau; 07/10/2011 a las 13:33 Razón: Problema resuelto

Etiquetas: imagenes, tipo, identificador
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 00:28.