Programación Web y Scripting > PHP

 Problema Con Filesize

<< < (2/3) > >>

zaida20:
Otra cosa más:

He probado a cambiar $archivo por $barra

   
--- Código: Text ---&#036;barra=stripslashes(&#036;ruta_imagen);//quita las barras que se duplican en la ruta  echo &#036;barra;//imprime la ruta correctamenteecho &#34;&#60;br&#62;&#34;;&#036;archivo=fopen(&#036;barra, 'r');print_r(&#036;archivo);//devuelve resource #2echo &#34;&#60;br&#62;&#34;;&#036;tamano=filesize(&#036;barra);echo &#34;tamaño&#34;;//devuelve un 0echo &#036;tamano;echo &#34;&#60;br&#62;&#34;; 

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

--- Código: Text ---&#60;html&#62;&#60;img src=&#34;&#60;?php echo &#036;popo[&#036;i]; ?&#62;&#34; width=&#34;&#60;?php &#036;ancho; ?&#62;&#34; height=&#34;&#60;?php echo &#036;alto; ?&#62;&#34; &#62; &#60;/html&#62; 
¿Podeís decirme porqué no se muestran las imágenes?

Muchas gracias y saludos!!! :hola:

Altareum:
Pudiste solucionarlo ???

Altareum.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa