Evitar cache con PHP

  • 13/12/2007
  • 11:59 pm
  • unijimpe

En esta ocasión veremos la forma de prevenir el cache de contenido con PHP. Normalmente cuando se accede a una página web, el browser guarda una copia para que en la siguiente ocasión que solicites esa página accedas de forma mas rápida.

Nuestro objetivo es evitar que el browser guarde el contenido de nuestras páginas, esto para que el usuario acceda siempre a la ultima información de nuestro web.

Evitando Cache
Para evitar cache de contenido, enviamos headers para los diferentes navegadores indicando que el contenido no se debe guardar en la memoria cache. Esto lo hacemos de la forma:

PHP:
  1. header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
  2. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  3. header("Cache-Control: no-store, no-cache, must-revalidate");
  4. header("Cache-Control: post-check=0, pre-check=0", false);
  5. header("Pragma: no-cache");

Ahora bien, en caso que vayamos a utilizar esta función repetidas veces es conveniente contertir este código en una función.

PHP:
  1. // archivo: functions.php
  2. function noCache() {
  3.   header("Expires: Tue, 01 Jul 2001 06:00:00 GMT");
  4.   header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  5.   header("Cache-Control: no-store, no-cache, must-revalidate");
  6.   header("Cache-Control: post-check=0, pre-check=0", false);
  7.   header("Pragma: no-cache");
  8. }

Luego en cada página que deseamos prevenir cache, primero incluimos el archivo y luego llamamos a la función, esto se hace al inicio de toda página php.

PHP:
  1. include("function.php");
  2. ae_nocache();
  3. // codigo php

Como ven, con dos lineas adicionales a nuestras páginas podemos evitar el cache. Espero les sirva este tip que aunque es muy sencillo siempre hace falta.

Posts Relacionados

Total de Comentarios: 6

Publicidad
Rolf
05/02/2008
11:08 am

no hace falta crear ni llamar a la funcion sobra con:

al inicio del fichero .php

Rolf
05/02/2008
11:09 am

require_once(”function.php”) :P

05/03/2008
6:12 pm

Gracias, no encontraba todos esos headers, san google siempre muy veloz

Me gusto el diseño de la pagina apenas la vi… en realidad me gusta mucho el verde :P

Gracias

10/06/2008
10:08 am

Gracias por el aporte, siempre tan necesario.

IExplorer me estaba haciendo perder la paciencia…

Enviar Comentario

(*)

(*)