Foros del Web » Programando para Internet » PHP »

Actualizar imagen

Estas en el tema de Actualizar imagen en el foro de PHP en Foros del Web. Hola,tengo un problema y no se muy bien a que se debe,tengo una pagina con una imagen donde la ruta la tengo en una variable ...
  #1 (permalink)  
Antiguo 06/03/2007, 08:24
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 10 meses
Puntos: 0
Exclamación Actualizar imagen

Hola,tengo un problema y no se muy bien a que se debe,tengo una pagina con una imagen donde la ruta la tengo en una variable de sesion y es logo.jpg (por ejemplo) ,luego tengo un formulario con un campo FILE donde en el evento onchange llamo a una funcion que lo que me hace es enviar el formulario a si mismo (action="#") donde posteriormente compruebo si se ha enviado entonces subo la imagen del campo FILE al servidor con el mismo nombre que tenia la otra,es decir logo.jpg,machaco la imagen anterior,y luego vuelvo a mostrar la imagen subida,pero la imagen que me muestra nno es la que esta en el servidor sinola anterior,por que??
__________________
Inmuebles de Galicia:www.inmueblevirtual.net
Compartir piso en Galicia:www.inmueblevirtual.net/foro
  #2 (permalink)  
Antiguo 06/03/2007, 08:41
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: Actualizar imagen

seguramente por la cache del navegador
__________________
Zepsilon.com
Diseño e imaginacion
  #3 (permalink)  
Antiguo 06/03/2007, 09:18
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Actualizar imagen

Puede ser por dos cosas (tal vez mas), una, que no subió bien la foto, y segundo, porque el cache de la compu. La unica solución es ponerle un refresh a la pagina. No con JavaScript, sino con html, el elemento <meta> le ayduará con esto.

<META HTTP-EQUIV="refresh" CONTENT="1">

Pero debe hacer que el php imprima esta pagina solamente cuando hay una actualización de la foto, en caso contrario cada segundo se recargaría la pagina y eso sería muy molesto.

Si hace lo que le digo obtendrá un efecto al extraño. Se cargará la pagina con la foto anterior, si la foto nueva es de otras dimensiones que la anterior, la foto anterior aparecerá con las dimensiones de la nueva, pasará un segundo y se cargará la pagina otra vez con la foto nueva. Esto puede ser un problema porque podría haber una compu con una conexión lenta, lo que haría demorar mas segundos en aparecer el efecto deseado, pero de que aparecerá la nueva foto, aparecerá.

Todo lo que le he explicado funcionará obviamente si en realidad la nueva foto se ha cargado correctamente.
  #4 (permalink)  
Antiguo 06/03/2007, 09:32
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: Actualizar imagen

Usá algo así para evitar la caché de la imagen:
<img src="imagen.jpg?<?php echo md5(time())?>">
  #5 (permalink)  
Antiguo 06/03/2007, 09:36
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Actualizar imagen

Me podría explicar que pretende hacer con ese codigo? yo nunca he usado el md5 y no se que es el hash, pero en todo caso lo que hará con eso es añadirle un texto al final del nombre de la imagen. Qué se consigue con eso?
  #6 (permalink)  
Antiguo 06/03/2007, 09:43
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: Actualizar imagen

Para evitar el cacheo de las imágenes no basta con usar cabeceras no cahé o similares. Entonces, lo que se hace es engañar al navegador modificando el atributo src de la imagen, para que no lo tome de un valor guadado en la caché. Para eso, lo normal es colocar un valor aleaatorio o pseudoaleatorio como parámetro, el cual, sin afectar la visualización de la imagen, modifique su atributo src. Ve las faqs, allí se explica esto mismo.
  #7 (permalink)  
Antiguo 06/03/2007, 09:50
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Actualizar imagen

Su solución es mejor que la mía. Lo que yo hacía era un truco rudimentario no para evitar eso, sino más bien para arreglar ese problema de alguna manera. Pero lo que ud. hace eso si es solución. Le agradesco yo también la respuesta, porque esas "soluciones" yo las implementaba antes, pero ahora se lo que tengo que hacer.
  #8 (permalink)  
Antiguo 06/03/2007, 09:53
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: Actualizar imagen

Lo aprendí aquí y bueno, si se puede devolver algo de lo aprendido, mejor.
  #9 (permalink)  
Antiguo 06/03/2007, 10:06
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Actualizar imagen

Muchas gracias,era de la cache,ahora si que me la carga correctamente.
__________________
Inmuebles de Galicia:www.inmueblevirtual.net
Compartir piso en Galicia:www.inmueblevirtual.net/foro
  #10 (permalink)  
Antiguo 06/03/2007, 11:18
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 2 meses
Puntos: 5
Re: Actualizar imagen

Cita:
Iniciado por bananas Ver Mensaje
Muchas gracias,era de la cache,ahora si que me la carga correctamente.
De todas maneras hechele un vistazo a este post.-

http://www.forosdelweb.com/showpost....7&postcount=14

Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:52.