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 >0 && $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!!!