Ver Mensaje Individual
  #15 (permalink)  
Antiguo 30/07/2007, 04:54
Avatar de zaida
zaida
 
Fecha de Ingreso: noviembre-2006
Ubicación: Madrid (España)
Mensajes: 266
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Problema con filesize

Gracias GatorV por tu respuesta:
He conseguido hacer el siguiente código, funciona todo correctamente, menos a la hora de visualizar las imágenes. Espero que podaís ayudarme por favor:

Código PHP:
<?php
session_start
();
$imagen_examinar=$HTTP_POST_FILES['foto']['name'];
  if(
is_uploaded_file($HTTP_POST_FILES['foto']['tmp_name']))
  {
//Se ha añadido la foto a tmp
    
$size=$HTTP_POST_FILES['foto']['size'];//recogemos el tamaño de la foto
    
$foto=$HTTP_POST_FILES['foto']['tmp_name'];//recogemos el tmp de la foto
    
if($size==0)//Validamos si la imagen es igual a 0
    
{//La imagen está dañada
      
$x=0;
      
$error=2;//la imagen está dañada
      
$_SESSION['foto']=$imagenes;//recogemos la sesión en $imágenes
      
while($imagenes[$x]!=NULL)//en el caso de que hubiera imágenes visualizándose se siguen mostrando
      
{
        
$foto=@getimagesize($imagenes[$x]);//hacemos el getimagesize de las fotos que están en sesión
        
$ancho=60;
        
$alto[$x]=$foto[1]/($foto[0]/$ancho);
        
$x++;
      }
      
$popo=$_SESSION['foto'];//guardamos la sesión en $popo para mostrala
    
}
    if(
$size >&& $size<2000)//Validamos que la imagen sea mayora que 0 y menor que 2000kb
    
{
      if(
$imagen_examinar!=NULL)//Si lo que recogemos por post es distinto de null
      
{
        
$i=0;
        
$x=0;
        
$w=0;
        
$m=0;
        if(
$_SESSION['foto']==NULL)//si la sesión no existe, entra por primera vez.
        
{
          
$foto=getimagesize($HTTP_POST_FILES['foto']['tmp_name']);//hacemos el getimagesize de la imagen tmp(temporal)
          
$rut=array();
          
$rutimagen[0]=$imagen_examinar;
          
$_SESSION['foto']=$rutimagen;//guardamos la sesión en $rutimagen.
          
$popo=$_SESSION['foto'];//la recogemos en $popo para visualizarla.
          
$ancho=60;//ancho fijo
          
$alto[0]=$foto[1]/($foto[0]/$ancho);//ancho variable.
        
}
        else
//entra por segunda vez, la sesión existe
        
{
          
$fotos=$_SESSION['foto'];
          
$foto=@getimagesize($HTTP_POST_FILES['foto']['tmp_name']);
          if(
$foto==true)//La imagen no está dañada
          
{
            
$num=count($fotos);
            
$rutimagen=$fotos;
            
$rutimagen[$num]=$imagen_examinar;
            
$existe=array_unique($rutimagen);//buscamos si existe la imagen y si está repetida borramos
            
$_SESSION['foto']=$existe;//metemos $existe en sesión
            
if($rutimagen!=$existe)//si el primer array es distinto del segundo la imagen existe
            
{
              
$d=0;
              
$error=1;//La imagen existe.
              
echo "la imagen existe";
              
$imagenes4=$_SESSION['foto'];
              while(
$imagenes4[$d]!=NULL)
              {
                
$foto=getimagesize($imagenes4[$d]);
                
$ancho=60;
                
$alto[$d]=$foto[1]/($foto[0]/$ancho);
                
$d++;
              }
              
$popo=$_SESSION['foto'];
            }
            else
// no existe la imagen, por lo que la agregamos
            
{
              
$_SESSION['foto']=$existe;
              
$popo=$_SESSION['foto'];  
              
$nueva_imagen=$_SESSION['foto'];
              while(
$nueva_imagen[$x]!=NULL)
              {
                
$foto=@getimagesize($nueva_imagen[$x]);
                
$ancho=60;
                
$alto[$x]=$foto[1]/($foto[0]/$ancho);
                
$x++;
              }
              
$popo=$_SESSION['foto'];//se guarda la sesión en $popo
            
}

          }
        }
      }
    }
    if(
$size >2000)//La imagen supera el tamaño permitido
    
{
      
$s=0;
      
$error=3;//La imagen supera el tamaño permitido
      //echo "La imagen supera el tamaño permitido";
      
$imagenes3=$_SESSION['foto'];//Las demás fotos se siguen visualizando.
     
while($imagenes3[$s]!=NULL)
      {
        
$foto=@getimagesize($imagenes3[$s]);
        
$ancho=60;
        
$alto[$s]=$foto[1]/($foto[0]/$ancho);
        
$s++;
      }
      
$popo=$_SESSION['foto'];//se guarda la sesión en $popo
    
}
  }

?>
Las visualizo así;

Código HTML:
<img src="<?php echo $popo[$i]; ?>" width="<?php $ancho; ?>" height="<?php echo $alto; ?>" > 
¿Podeís decirme porqué no se muestran las imágenes?

Muchas gracias y saludos!!!