Foros del Web » Programando para Internet » PHP »

Cache en IE

Estas en el tema de Cache en IE en el foro de PHP en Foros del Web. Saludos. TEngo lo siguiente: Código PHP: // Fecha en el pasado header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); // siempre modificado header ( "Last-Modified: "  .  gmdate ( "D, d M Y H:i:s" ) .  " GMT" );   // HTTP/1.1 header ...
  #1 (permalink)  
Antiguo 17/09/2004, 10:45
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Cache en IE

Saludos.

TEngo lo siguiente:

Código PHP:
// Fecha en el pasado
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// siempre modificado
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
 
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0"false);
// HTTP/1.0
header("Pragma: no-cache"); 
En Internet Explorer, el cache me hace ver las imágenes que no son.

Cómo demonios elimino el cache en el IE.

En Nestcape y Opera se ve bien.

GRacias
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #2 (permalink)  
Antiguo 17/09/2004, 10:51
Avatar de Apolo
Colaborador
 
Fecha de Ingreso: abril-2003
Ubicación: ubicado
Mensajes: 7.961
Antigüedad: 14 años, 8 meses
Puntos: 109
Herramientas >> Opciones de Internet >> Archivos temporales de Internet >> Eliminar archivos.

No sé si es lo que necesitabas.

Saludos,
  #3 (permalink)  
Antiguo 17/09/2004, 11:03
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Jejejeje, Saludos Eboy

En la aplicación no puedo decirle a todos los usuarios que borren el cache del navegador.

La idea es que automáticamente se bloquee el cache para no tener ese problema

Gracias de todas formas por la intensión de ayudar
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #4 (permalink)  
Antiguo 17/09/2004, 11:21
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 13 años, 10 meses
Puntos: 0
hola!! has probado con una etiqueta META?

<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

SALUDOS
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #5 (permalink)  
Antiguo 17/09/2004, 12:37
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Si.

Funciona en Nestcape, Mozilla, Opera, pero no en IE
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #6 (permalink)  
Antiguo 17/09/2004, 13:19
 
Fecha de Ingreso: septiembre-2004
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
session_cache_limiter('nocache');
  #7 (permalink)  
Antiguo 17/09/2004, 14:11
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Negativo

Negativo Cesarb

También lo intente con ese control, haciendo referencia a un post viejo que encontre en donde Cluster hacia mensión a el.

Pero no funciona.

Ojo, recalco que no funciona es en IE, en los otros todo corre de maravilla.

Pense que era mi explorador, pero ya lo verifique en todos los PC de la compañia y ocurre lo mismo.

Pense que era en el server local dela empresa, pero lo subi a Internet y ocurre exactamente lo mismo con IE.
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #8 (permalink)  
Antiguo 17/09/2004, 15:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El control del caché que haces con las cabeceras HTTP no afecta a las imagenes .. sólo a tus .html, .css, .js .. etc que uses. (de todas formas, confirmalo en los foros de HTML o similar por cómo funcionan exactamente a ese nivel los navegadores o más concretamente tu IE)

Podrías dar un nombre a tus imagenes dinámicamente ... algo tipo:

imagenes.php
Código PHP:
<?
header 
("Location: ".time()."_".$_GET['imagen']);
?>
Y lo usas:
Código PHP:
<img src="imagenes.php?imagen=nose.jpg"
El problema será que vas a llenar los "archivos temporales" de ese navegador si pide más veces dicha imagen ya que se generará una nueva del tipo:

fecha-actual-en-timestamp_nombre

Un saludo,
  #9 (permalink)  
Antiguo 20/09/2004, 07:10
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Saludos.

Pues el problema esta en lo siguiente.

El usuario carga hasta 10 imagenes. 1 por 1. Luego de cada upload de la imagen, la muestro por pantalla. 1 por 1 hasta que llegue a las 10 o hasta un número inferior de fotos.

Una vez que el usuario carga sus imágenes, le presento la opción de BAJAR, SUBIR o BORRAR cada una de las imagenes. BAJAR o SUBIR la imagen con respecto a la siguiente o anterior. De esta manera el usuario ordena sus imagenes antes de finalizar su publicación. Cada imagen la llamo xxxx_N.jpg donde N es el número de posición.

Al usuario hacer click en BAJAR lo que hago es hacer un rename() de la imagen siguiente (N+1) llamarla N_temp y a la foto en cuestión le cambio el nombre. Luego regreso el primer cambio a N:

Cambio logo_1.jpg por logo_1_temp.jpg
Cambio logo_2.jpg por logo_1.jpg
Cambio logo_1_temp.jpg por logo2.jpg

Cada vez que el usuario hace click en BAJAR O SUBIR O BORRAR, claro que mando a recargar la página pasando unas variables. Si encuentra esas variables ejecuta los cambios respectivos.

Hasta aquí todo funciona de maravilla, pero....(que problemita con los pero) el pedazo de IE al recargar, entinces que logo_1.jpg y logo_2.jpg son simplemente las mismas que recien VIO, es decir, COMO YO YA CARGUE ESTAS IMAGENES Y SE LLAMAN IGUALITAS, AHHH ENTONCES SON LAS MISMAS, NO LAS VOY A BUSCAR AL SERVER SINO A MI CACHE (imaginandome que habla el IE, jejejejeje)

Ese es el problema. En Opera, Nestcape y Mozilla Firefox funciona de maravilla.

Probe con una junción en JavaScript, mandando a imprimir una imagen gif transparente y luego cambiando el SRC de ese gif por la imagen en cuestion (EJ: logo_1.jpg) pero obtengo los mismos resultados.

Si aplico lo que me recomienda Cluster, me parece que voy a tener que cambiar una gran parte del código actual (cosa que no me da mucha gracia) y ocurrirá el problema de los temporales al cual el mismo Cluster hace referencia.

La verdad no veo luz al final del camino.

Si alguién tiene alguna opinión (que conste que dije opinión y no solución) estoy dispuesto a leerla.

Gracias
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #10 (permalink)  
Antiguo 20/09/2004, 07:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Las cabeceras de control de cache de los ficheros no dinamicos (imagenes) se pueden controlar desde el servidor web. En apache podrias usar la extension mod_headers http://httpd.apache.org/docs/mod/mod_headers.html , por ejemplo, para añadir las cabeceras anticache a las imagenes de cierto directorio.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 20/09/2004, 07:53
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Josemi, pero esos cambios hay que hacerlos en el Server directamente??
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #12 (permalink)  
Antiguo 20/09/2004, 07:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Si. Depende de la configuracion de tu servidor web, puede que solo necesites crear un fichero .htaccess indicando que mande las cabeceras.

Otra opcion seria intentar engañar al navegador haciendole pensar que la imagen es una pagina dinamica. Simplemente en el src de img añade un query string:

<img src="imagen.jpg?1234">

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #13 (permalink)  
Antiguo 20/09/2004, 08:04
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Uhmmmm prefiero lo del engaño jejejejeje.

Porque para modificar mi server local no hay mayor problema, pero para pedirle eso a los del Server en internet, quizas si.

Aunque me dices que con un archivo htaccess. Dejame probar y les comunico
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #14 (permalink)  
Antiguo 20/09/2004, 09:27
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
De acuerdo Listo

Saludos.

Caramba estoy que lloro .... pero de la felicidad. Listo el problema fue resuelto.

Les cuento lo ocurrido.

Siguiendo la propuesta de josemi, agrege al src de la imagenes una variable:

logo_N.jpg?var=N

Resulta que en IE me elimino el problema del cache, pero en Opera y Mozilla Firefox se dañaba.

Entonces ingrese en http://ve.php.net/manual/es/function.rand.php y cambie el código por este:

Código PHP:
   $var md5(time());
    
$foto "logo_N.jpg?var=".$var
Quedo perfecto en IE, Mozilla Firefox, Opera y Netscape.

Es decir, que entre la propuesta de josemi + cluster salio la solución. (Claro más php.net que siempre ayuda)

Gracias a todos

P.D: Cluster, puedo incluir esta solución en las FAQ de PHP ??? (Creo que no hay nada así verdad??)
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.

Última edición por José Molina; 21/09/2004 a las 12:53
  #15 (permalink)  
Antiguo 21/09/2004, 19:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
P.D: Cluster, puedo incluir esta solución en las FAQ de PHP ??? (Creo que no hay nada así verdad??)
Por supuesto (no me tienen que pregunta para subir FAQ's .. tan sólo intentar no repetir temas o que sean complemetarios si ya hay alguno similar).

Sólo te pediría algún ejemplo completo (con el "<img src= ..." que corresponda) como para que sea fácil de probar.

Un saludo,
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 00:01.