Foros del Web » Programando para Internet » PHP »

problema al actualizar hora con php..cache navegador ? cokkies ?

Estas en el tema de problema al actualizar hora con php..cache navegador ? cokkies ? en el foro de PHP en Foros del Web. Hola a todos, resulta que hace algunos dias tengo inconvenientes con unos archivos xml que creo en el servidor El problema radica en que cada ...
  #1 (permalink)  
Antiguo 18/02/2013, 08:02
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
problema al actualizar hora con php..cache navegador ? cokkies ?

Hola a todos, resulta que hace algunos dias tengo inconvenientes con unos archivos xml que creo en el servidor

El problema radica en que cada vez q yo creo un archivo lo hago de la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2. $ingreso=$_GET['ingreso'];
  3. $hora = date("His");
  4.  $fp = fopen("hc_".trim($ingreso)."_".$hora.".xml", 'w+') or
  5. die(print_r("ERROR AL CREAR EL ARCHIVO",false));
  6. $archivo="hc_".trim($ingreso)."_".$hora.".xml";
  7. $cabeza="<?xml version=\"1.0\"?>
  8. <hc >
  9. </hc>";
  10.  fwrite($fp, $cabeza);
  11. fclose($fp);
  12. ?>

Yo le hago un echo a la variable $archivo y me muestra por ejemplo :
hc_0000895867_083353.xml

Busco ese archivo en la carpeta y efectivamente esta creado
Pero cierro la ventana emergente del navegador y vuelvo y la abro pero nuevamente me sigue mostrando la misma hora (es decir : hc_0000895867_083353.xml), cuando deberia haberme creado otro archivo con la nueva hora...

Yo cierro todas las ventanas del navegador y vuelvo y abro y ahi si me actualiza la hora..
Este problema puede ser porque no se limpia la cache del navegador o a que se debe ?

Como podria solucionarlo?
Agradezco me den alguna indicación
  #2 (permalink)  
Antiguo 18/02/2013, 08:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: problema al actualizar hora con php..cache navegador ? cokkies ?

en efecto, porque es GET y se cachea por lo cual la petición nunca llega al server y nunca sobreescribe el archivo, tienes 3 opciones:

usar POST (estás escribiendo un archivo, por lo cual es válido)
usas con GET el parámetro fantasma
forzas la limpieza de cache desde PHP
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 18/02/2013, 08:25
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problema al actualizar hora con php..cache navegador ? cokkies ?

Ok....Buennoo optaria por la segunda o la tercera
pero como puedo forzar a limpiar la cache con PHP?...Tienes algun ejemplo de como hacerlo ?...

O si es con GET como es eso de "el parametro fantasma"...

Agradezco si tienes algun link o si me puedes orientas un poco sobre el tema...
  #4 (permalink)  
Antiguo 18/02/2013, 13:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problema al actualizar hora con php..cache navegador ? cokkies ?

Un parámetro fantasma es agregar algún parámetro nuevo a tu query, algo como script.php?rand=(número aleatorio) eso forza al navegador a pedir un nuevo archivo en lugar de usar el mismo desde el cache.

Borrar el cache es más bien prevenir el cache, se usa con header() y lo que haces es indicarle al navegador que no haga cache de ese archivo (usando cache-control) pero no puedes usarlo como viable, ya que depende del navegador si quiere hacer caso o no de esa directiva.

Lo mejor es hacer el punto 1 o el 2.

Saludos.
  #5 (permalink)  
Antiguo 18/02/2013, 16:38
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problema al actualizar hora con php..cache navegador ? cokkies ?

Ok, ya opte por el punto 1 y pude solucionar el problema..Muchas gracias por la ayuda

Etiquetas: navegador
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 08:38.