Evitar cache con PHP :D



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:
  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.
  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.
  1. include("function.php");
  2. 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.

No hay comentarios:

Publicar un comentario