• Lunes 6 de Mayo de 2024, 14:30

Autor Tema:  Problema Con Filesize  (Leído 2763 veces)

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Problema Con Filesize
« en: Jueves 26 de Julio de 2007, 10:12 »
0
Hola, tengo el siguiente problema:

Código: Text
  1. $barra=stripslashes($ruta_imagen);
  2. $tamano=@filesize($barra);//devuelve el tamaño de la imagen
  3.  


He comprobado que la ruta es la correcta, el problema es que localmente filesize funciona correctamente, pero en el servidor no, he probado hacer un echo tamano; y no devuelve nada. ¿Alguien puede decirme por qué?

Gracias y saludos!!!  :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #1 en: Jueves 26 de Julio de 2007, 12:03 »
0
Hola,


Quitale la @ para ver si te muestra el mensaje de error


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #2 en: Jueves 26 de Julio de 2007, 12:11 »
0
hola de nuevo:

he probado a hacer esto:

Código: Text
  1. $barra=stripslashes($ruta_imagen);
  2. echo $barra;
  3. echo "<br>";
  4. $archivo=fopen($barra,'r');
  5. print_r($archivo);
  6. echo "<br>";
  7. $tamano=filesize($archivo);
  8. echo "tamaño";
  9. echo $tamano;
  10. echo "<br>";
  11.  

y me devuelve este error:

Warning: filesize(): Stat failed for Resource id #2 (errno=2 - No such file or directory) in .....

y sigue sin imprimir $tamano

¿Por que puede darme este error?-->la imagen si existe en el directorio...

gracias, un saludo
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #3 en: Jueves 26 de Julio de 2007, 12:35 »
0
ahh ... ok

Cita de: "http://www.php.net/function.filesize"
filesize

(PHP 3, PHP 4, PHP 5)
filesize -- Obtiene el tamaño del archivo
Descripción
int filesize ( string nombre_archivo )

En el segundo codigo estas colocando un...

Cita de: "http://www.php.net/function.filesize"
fopen

(PHP 3, PHP 4, PHP 5)
fopen -- Abre un archivo o URL
Descripción
resource fopen ( string nombre_archivo, string modo [, bool usar_ruta_inclusion [, resource contexto_z]] )

<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><code><font color="#000000">

<font color="#0000BB">$barra</font><font color="#007700">=</font><font color="#0000BB">stripslashes</font><font color="#007700">(</font><font color="#0000BB">$ruta_imagen</font><font color="#007700">);
echo </font><font color="#0000BB">$barra</font><font color="#007700">;
echo </font><font color="#DD0000">"<br>"</font><font color="#007700">;
</font><font color="#0000BB">$archivo</font><font color="#007700">=</font><font color="#0000BB">fopen</font><font color="#007700">(</font><font color="#0000BB">$barra</font><font color="#007700">, &</font><font color="#FF8000">#39; r');
</font><font color="#0000BB">print_r</font><font color="#007700">(</font><font color="#0000BB">$archivo</font><font color="#007700">);
echo </font><font color="#DD0000">"<br>"</font><font color="#007700">;
</font><font color="#0000BB">$tamano</font><font color="#007700">=</font><font color="#0000BB">filesize</font><font color="#007700">(</font><font color="#0000BB">$archivo</font><font color="#007700">);
echo </font><font color="#DD0000">"tamaño"</font><font color="#007700">;
echo </font><font color="#0000BB">$tamano</font><font color="#007700">;
echo </font><font color="#DD0000">"<br>"</font><font color="#007700">;</font>
</font>
</code><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->

le estas pasando como parametro $archivo en lugar de $barra

el archivo se crea en ese mismo proceso? o ya existe permanentemente?

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #4 en: Jueves 26 de Julio de 2007, 12:53 »
0
Te cuento, recibo $ruta_imagen de un campo y botón examinar. Para visualizar una imagen antes de  guardarla en sesión compruebo el tamaño mediante filesize.

Código: Text
  1.   &#036;barra=stripslashes(&#036;ruta_imagen);//quita las barras que se duplican en la ruta
  2.   &#036;tamano=@filesize(&#036;barra);//devuelve el tamaño de la imagen
  3.   echo &#036;tamano;
  4.  

$tamano no me recoge nada. Respecto a lo que me preguntas el archivo lo creo en ese momento y si cumple el tamaño se guarda en sesión.


Saludos y gracias
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #5 en: Jueves 26 de Julio de 2007, 12:57 »
0
Otra cosa más:

He probado a cambiar $archivo por $barra

   
Código: Text
  1. &#036;barra=stripslashes(&#036;ruta_imagen);//quita las barras que se duplican en la ruta
  2.   echo &#036;barra;//imprime la ruta correctamente
  3. echo &#34;&#60;br&#62;&#34;;
  4. &#036;archivo=fopen(&#036;barra, 'r');
  5. print_r(&#036;archivo);//devuelve resource #2
  6. echo &#34;&#60;br&#62;&#34;;
  7. &#036;tamano=filesize(&#036;barra);
  8. echo &#34;tamaño&#34;;//devuelve un 0
  9. echo &#036;tamano;
  10. echo &#34;&#60;br&#62;&#34;;
  11.  
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #6 en: Viernes 27 de Julio de 2007, 14:21 »
0
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:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Problema Con Filesize
« Respuesta #7 en: Viernes 27 de Julio de 2007, 17:37 »
0
Prová con $_FILES['campo_foto']['tmp_name'] directamente, esto accede directamente al archivo que envias por post, sin nececesidad de usar rutas.

Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #8 en: Lunes 30 de Julio de 2007, 12:48 »
0
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
  1.  
  2. &#60;?php
  3. session_start();
  4. &#036;imagen_examinar=&#036;HTTP_POST_FILES['foto']['name'];
  5.   if(is_uploaded_file(&#036;HTTP_POST_FILES['foto']['tmp_name']))
  6.   {//Se ha añadido la foto a tmp
  7.     &#036;size=&#036;HTTP_POST_FILES['foto']['size'];//recogemos el tamaño de la foto
  8.     &#036;foto=&#036;HTTP_POST_FILES['foto']['tmp_name'];//recogemos el tmp de la foto
  9.     if(&#036;size==0)//Validamos si la imagen es igual a 0
  10.     {//La imagen está dañada
  11.       &#036;x=0;
  12.       &#036;error=2;//la imagen está dañada
  13.       &#036;_SESSION['foto']=&#036;imagenes;//recogemos la sesión en &#036;imágenes
  14.       while(&#036;imagenes[&#036;x]!=NULL)//en el caso de que hubiera imágenes visualizándose se siguen mostrando
  15.       {
  16.         &#036;foto=@getimagesize(&#036;imagenes[&#036;x]);//hacemos el getimagesize de las fotos que están en sesión
  17.         &#036;ancho=60;
  18.         &#036;alto[&#036;x]=&#036;foto[1]/(&#036;foto[0]/&#036;ancho);
  19.         &#036;x++;
  20.       }
  21.       &#036;popo=&#036;_SESSION['foto'];//guardamos la sesión en &#036;popo para mostrala
  22.     }
  23.     if(&#036;size &#62;0 && &#036;size&#60;2000)//Validamos que la imagen sea mayora que 0 y menor que 2000kb
  24.     {
  25.       if(&#036;imagen_examinar!=NULL)//Si lo que recogemos por post es distinto de null
  26.       {
  27.         &#036;i=0;
  28.         &#036;x=0;
  29.         &#036;w=0;
  30.         &#036;m=0;
  31.         if(&#036;_SESSION['foto']==NULL)//si la sesión no existe, entra por primera vez.
  32.         {
  33.           &#036;foto=getimagesize(&#036;HTTP_POST_FILES['foto']['tmp_name']);//hacemos el getimagesize de la imagen tmp(temporal)
  34.           &#036;rut=array();
  35.           &#036;rutimagen[0]=&#036;imagen_examinar;
  36.           &#036;_SESSION['foto']=&#036;rutimagen;//guardamos la sesión en &#036;rutimagen.
  37.           &#036;popo=&#036;_SESSION['foto'];//la recogemos en &#036;popo para visualizarla.
  38.           &#036;ancho=60;//ancho fijo
  39.           &#036;alto[0]=&#036;foto[1]/(&#036;foto[0]/&#036;ancho);//ancho variable.
  40.         }
  41.         else//entra por segunda vez, la sesión existe
  42.         {
  43.           &#036;fotos=&#036;_SESSION['foto'];
  44.           &#036;foto=@getimagesize(&#036;HTTP_POST_FILES['foto']['tmp_name']);
  45.           if(&#036;foto==true)//La imagen no está dañada
  46.           {
  47.             &#036;num=count(&#036;fotos);
  48.             &#036;rutimagen=&#036;fotos;
  49.             &#036;rutimagen[&#036;num]=&#036;imagen_examinar;
  50.             &#036;existe=array_unique(&#036;rutimagen);//buscamos si existe la imagen y si está repetida borramos
  51.             &#036;_SESSION['foto']=&#036;existe;//metemos &#036;existe en sesión
  52.             if(&#036;rutimagen!=&#036;existe)//si el primer array es distinto del segundo la imagen existe
  53.             {
  54.               &#036;d=0;
  55.               &#036;error=1;//La imagen existe.
  56.               echo &#34;la imagen existe&#34;;
  57.               &#036;imagenes4=&#036;_SESSION['foto'];
  58.               while(&#036;imagenes4[&#036;d]!=NULL)
  59.               {
  60.                 &#036;foto=getimagesize(&#036;imagenes4[&#036;d]);
  61.                 &#036;ancho=60;
  62.                 &#036;alto[&#036;d]=&#036;foto[1]/(&#036;foto[0]/&#036;ancho);
  63.                 &#036;d++;
  64.               }
  65.               &#036;popo=&#036;_SESSION['foto'];
  66.             }
  67.             else// no existe la imagen, por lo que la agregamos
  68.             {
  69.               &#036;_SESSION['foto']=&#036;existe;
  70.               &#036;popo=&#036;_SESSION['foto'];  
  71.               &#036;nueva_imagen=&#036;_SESSION['foto'];
  72.               while(&#036;nueva_imagen[&#036;x]!=NULL)
  73.               {
  74.                 &#036;foto=@getimagesize(&#036;nueva_imagen[&#036;x]);
  75.                 &#036;ancho=60;
  76.                 &#036;alto[&#036;x]=&#036;foto[1]/(&#036;foto[0]/&#036;ancho);
  77.                 &#036;x++;
  78.               }
  79.               &#036;popo=&#036;_SESSION['foto'];//se guarda la sesión en &#036;popo
  80.             }
  81.  
  82.           }
  83.         }
  84.       }
  85.     }
  86.     if(&#036;size &#62;2000)//La imagen supera el tamaño permitido
  87.     {
  88.       &#036;s=0;
  89.       &#036;error=3;//La imagen supera el tamaño permitido
  90.       //echo &#34;La imagen supera el tamaño permitido&#34;;
  91.       &#036;imagenes3=&#036;_SESSION['foto'];//Las demás fotos se siguen visualizando.
  92.      while(&#036;imagenes3[&#036;s]!=NULL)
  93.       {
  94.         &#036;foto=@getimagesize(&#036;imagenes3[&#036;s]);
  95.         &#036;ancho=60;
  96.         &#036;alto[&#036;s]=&#036;foto[1]/(&#036;foto[0]/&#036;ancho);
  97.         &#036;s++;
  98.       }
  99.       &#036;popo=&#036;_SESSION['foto'];//se guarda la sesión en &#036;popo
  100.     }
  101.   }
  102.  
  103. ?&#62;
  104.  

Las visualizo así;
Código: Text
  1. &#60;html&#62;
  2. &#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;
  3. &#60;/html&#62;
  4.  

¿Podeís decirme porqué no se muestran las imágenes?

Muchas gracias y saludos!!! :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Problema Con Filesize
« Respuesta #9 en: Lunes 6 de Agosto de 2007, 21:45 »
0
Pudiste solucionarlo ???

Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #10 en: Jueves 9 de Agosto de 2007, 10:45 »
0
Hola Altareum

Sigo sin poder solucionarlo  :(

Saludos!!! :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #11 en: Martes 11 de Septiembre de 2007, 15:04 »
0
Hola, sigo sin poder solucionar éste problema, localmente funciona correctamente, pero al subirlo al servidor no se visualizan las imágenes.

¿Podeis ayudarme?
Saludos y muchas gracias  :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----

zaida20

  • Miembro MUY activo
  • ***
  • Mensajes: 213
    • Ver Perfil
Re: Problema Con Filesize
« Respuesta #12 en: Viernes 14 de Septiembre de 2007, 09:46 »
0
Por fin he conseguido que las imágenes se vean cuando lo subo al servidor!!!! :kicking:
Por si a alguien le sirve aqí dejo el código que he utilizado:

form.php
Código: Text
  1.       &#60;form name=&#34;anadir_blog&#34; method=&#34;post&#34; action=&#34;sentencia.php&#34; enctype=&#34;multipart/form-data&#34;&#62;
  2.                               &#60;input type=&#34;file&#34; name=&#34;foto&#34;&#62;&#60;/form&#62;
  3.  

sentencia.php

Código: Text
  1. &#60;a href=&#34;mostrar_blog.php&#34;&#62;ir a mostrar&#60;/a&#62;
  2. &#60;?php
  3. require'conexion.php';
  4. if(&#036;_FILES['foto']['name']!=NULL)
  5. {
  6.   &#036;uploadfile_temporal=&#036;_FILES['foto']['tmp_name'];
  7.   &#036;uploadfile_nombre=&#34;imagenes/&#34;.&#036;_FILES['foto']['name'];
  8.   &#036;ruta_foto='imagenes/'.&#036;_FILES['foto']['name'];//recoge la ruta de la imagen(carpeta y nombre)
  9.   if (is_uploaded_file(&#036;uploadfile_temporal))
  10.   {
  11.     move_uploaded_file(&#036;uploadfile_temporal,&#036;uploadfile_nombre);
  12.     &#036;sql=&#34;INSERT INTO img_blog(ruta)values('&#036;ruta_foto')&#34;;
  13.     if(mysql_query(&#036;sql,&#036;conexion))
  14.     {
  15.       echo &#34;bien&#34;;
  16.     }
  17.     else
  18.     {
  19.       echo &#34;mal&#34;;
  20.     }
  21.  
  22.   }
  23.   else
  24.   {
  25.     echo &#34;error al procesar foto&#34;.die();
  26.   }
  27. }
  28. else
  29. {
  30.   &#036;ruta_foto='-';
  31. }
  32.  

mostrar.php
Código: Text
  1. &#036;sql=&#34;select *from img_blog&#34;;//consulta de las imágenes que queremos visualizar
  2. &#036;consulta=mysql_query(&#036;sql,&#036;conexion)or die (mysql_error());
  3. &#036;i=0;
  4. if(&#036;consulta!=0)
  5. {
  6.   if(mysql_num_rows(&#036;consulta)!=NULL)
  7.   {
  8.     while(&#036;fila=mysql_fetch_array(&#036;consulta))
  9.     {
  10.       &#036;foto[&#036;i]=&#036;fila['ruta'];
  11.       &#036;i++;
  12.     }
  13.   }
  14. }
  15.  

Saludos!!! :hola:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----