Programación Web y Scripting > PHP
Problema Con Filesize
zaida20:
Otra cosa más:
He probado a cambiar $archivo por $barra
--- Código: Text ---$barra=stripslashes($ruta_imagen);//quita las barras que se duplican en la ruta echo $barra;//imprime la ruta correctamenteecho "<br>";$archivo=fopen($barra, 'r');print_r($archivo);//devuelve resource #2echo "<br>";$tamano=filesize($barra);echo "tamaño";//devuelve un 0echo $tamano;echo "<br>";
zaida20:
Creo haber encontrado algo para solucionarlo :D con $HTTP_POST_FILES['campo_foto']['name']; cuando lo consiga pondré el resultado por si a alguien le sirve.
Saludos!!! :hola:
Altareum:
Prová con $_FILES['campo_foto']['tmp_name'] directamente, esto accede directamente al archivo que envias por post, sin nececesidad de usar rutas.
Altareum.
zaida20:
Gracias Altareum 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: Text --- <?phpsession_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: Text ---<html><img src="<?php echo $popo[$i]; ?>" width="<?php $ancho; ?>" height="<?php echo $alto; ?>" > </html>
¿Podeís decirme porqué no se muestran las imágenes?
Muchas gracias y saludos!!! :hola:
Altareum:
Pudiste solucionarlo ???
Altareum.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa