Foros del Web » Programando para Internet » PHP »

reload+proxycache

Estas en el tema de reload+proxycache en el foro de PHP en Foros del Web. hola, una preguntita, tengo una pagina en php, con un reload cada N segundos porque las fotos quiero actualizarlas i no me las actualiza, poque ...
  #1 (permalink)  
Antiguo 04/11/2003, 05:06
 
Fecha de Ingreso: marzo-2002
Mensajes: 132
Antigüedad: 22 años, 1 mes
Puntos: 0
reload+proxycache

hola,

una preguntita, tengo una pagina en php, con un reload
cada N segundos porque las fotos quiero actualizarlas
i no me las actualiza, poque se las queda el proxy cache de telefonica

cuando le doy al control+F5, las refresca pero solo con el reload no

hay alguna manera de forzar el reload???



graciaaaas
__________________
Xisclet
  #2 (permalink)  
Antiguo 04/11/2003, 05:31
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 3 meses
Puntos: 1
Hacelo con javascript, con php no vas a poder ya que se ejecuta en el servidor.
  #3 (permalink)  
Antiguo 04/11/2003, 06:08
 
Fecha de Ingreso: marzo-2002
Mensajes: 132
Antigüedad: 22 años, 1 mes
Puntos: 0
bueno el reload lo hago en java, se recarga la pagina pero las imagenes no son las nuevas, es decir lo que quiero es forzar el refresco,

Gracias
__________________
Xisclet
  #4 (permalink)  
Antiguo 04/11/2003, 06:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Bueno, con PHP puedes enviar cabeceras de nocache, y demas. Pero solo afectan al fichero que tiene los header(), no a las demas peticiones de las imagenes. Asi que si todas las imagenes son ficheros .gif, etc, y no scripts PHP que muestran la imagen, PHP puede hacer poco (aunque algo si puede, luego lo digo).

Tendrias que configurar tu servidor web para que adjunte cabeceras nocache a todas (o algunas) imagenes.

Hay un truco que es usar querystrings dinamicas para las imagenes. El proxy (si no recuerdo mal), no cachea los ficheros dinamicos. Asi que si generas un vinculo de la forma src="imagen.gif?12319jnsdf" con el valor aleatorio cada vez que se carga la pagina, el proxy buscara ese fichero de nuevo. Esto lo puedes hacer con javascript. O si ya has hecho que la pagina.php no sea cacheada y se vuelva a ejecutar cada vez que recargas, tambien puede ser PHP ele que genere ese HTML.

Si no mal recuerdo, en las FAQs estan las cabeceras para evitar el cacheo.

Saludos.

PD: Si usas un script PHP para mostrar la imagen (<img src="mostrar.php?id=23">), simplemente es poner las cabeceras anticache en mostrar.php
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 04/11/2003, 06:19
 
Fecha de Ingreso: marzo-2002
Mensajes: 132
Antigüedad: 22 años, 1 mes
Puntos: 0
que variable tengo que cambiar en mi servidor???
__________________
Xisclet
  #6 (permalink)  
Antiguo 04/11/2003, 06:22
 
Fecha de Ingreso: marzo-2002
Mensajes: 132
Antigüedad: 22 años, 1 mes
Puntos: 0
las cabezeras para que la pagina no sea cacheada ya las he puesto, pero la imagen es la misma, la imagen si que la cachea

header("Expires: Mon, 6 Jan 2003 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate"); // Compatibilidad con HTTP/1.1
header("Pragma: no-cache"); // Compatibilidad con HTTP/1.0

i ademas tambien he puesto debajo

?>
<meta http-equiv="Expires" content="0">
<meta http-equiv="Last-Modified" content="0">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">

en html

pero al darle el control f5 me muestra la nueva, lo ideal seria poder forzar por codigo el refresco, igual que el reload pero forzando que la refresque realmente


Gracias
__________________
Xisclet
  #7 (permalink)  
Antiguo 04/11/2003, 06:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Veamos, esas cabeceras solo se aplican al contenido del .php, no al resto de ficheros que se cargan en consecuencia de el (imagenes, hojas de estilo, js, ...). El navegador los pide aparte, y el proxy no relaciona los ficheros. Asi que lo unico que no esta cacheando es el contenido HTML/javascript generado por ese .php.

Ahora lo que podrias hacer es:
Código PHP:
<img src="tu/imagen.gif?<?php echo date("His"); ?>">
para todas tus imagenes. Asi cada vez que se recarge la pagina, el parametro sera distinto, y el proxy lo tomara como un fichero nuevo, y lo pedira al servidor.

Eso si, puede que vuelva un poco loco a tu programa de estadisticas web. Ya que en el log se almacenara imagen.gif?120043, imagen.gif?121003, ...

Saludos.

PD: Si dices que servidor web, quizas seria mas facil contestar. Y seria mejor plantear esa pregunta en el foro correspondiente de servidores web.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 04/11/2003, 06:47
 
Fecha de Ingreso: marzo-2002
Mensajes: 132
Antigüedad: 22 años, 1 mes
Puntos: 0
ahora lo estoy probando

Gracias

Otra preguntita.
como puedo saber si la imagen que pido esta subiendo en ese momento por lo que el link queda roto o si ya esta subida

es que son unas imagenes que suben cada N segundos, claro si esta subiendo en el momento de la peticion no se ve, tendria que poder comprobarlo


Gracias
__________________
Xisclet
  #9 (permalink)  
Antiguo 04/11/2003, 06:52
 
Fecha de Ingreso: marzo-2002
Mensajes: 132
Antigüedad: 22 años, 1 mes
Puntos: 0
gracias gracias
gracias gracias
gracias gracias

lo de la imagen
?<?php echo date("His"); ?>
funciona ahora no las cachea

muchisimas gracias de verdad



i para saber el estado ftp de la foto, bueno solo si esta subida o en proceso

sabes si hay alguna funcion????

GRACIAAAAS
__________________
Xisclet
  #10 (permalink)  
Antiguo 04/11/2003, 08:13
 
Fecha de Ingreso: marzo-2002
Mensajes: 132
Antigüedad: 22 años, 1 mes
Puntos: 0
Bueno

de todas maneras gracias por la respuesta

Graciaaaaaaas
__________________
Xisclet
  #11 (permalink)  
Antiguo 04/11/2003, 09:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
xisclet
Acostumbra a poner una pregunta para cada tema iniciado .. sino, suele pasar esto .. que la "última" pregunta queda en el olvido.

Así que .. pregunta eso mismo en otro tema (inicia uno nuevo) y explica mejor la situación .. (por qué eso de "ftp" .. hay que ver bien que código usas o como subes tus archivos .. que nombre tienen en el destino .. etc . etc .. como para llegar alguna conclusión).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 21:13.