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:
Ahora bien, en caso que vayamos a utilizar esta función repetidas veces es conveniente contertir este código en una función.
- // archivo: functions.php
- function noCache() {
- }
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.
- include("function.php");
- ae_nocache();
- // 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.

Comentarios Total 23 comentarios
Publicado: 05/02/2008 11:08 am
no hace falta crear ni llamar a la funcion sobra con:
al inicio del fichero .php
Publicado: 05/02/2008 11:09 am
require_once(“function.php”) :P
Publicado: 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
Publicado: 10/06/2008 10:08 am
Gracias por el aporte, siempre tan necesario.
IExplorer me estaba haciendo perder la paciencia…
Publicado: 06/08/2008 9:02 am
http://www.anyexample.com/programming/php/completely_disable_any_browser_caching.xml
Publicado: 16/09/2008 11:34 pm
[...] Enlace | unijimpe [...]
Publicado: 09/12/2008 2:57 pm
Muchas gracias, muy útil esta información
Publicado: 22/01/2009 12:52 pm
Gracias por la ayuda…
Saludos.
Daniel (-_-)
Publicado: 02/06/2009 9:11 am
Por que esa fecha? 01 Jul 2001 06:00:00 GMT
Publicado: 02/06/2009 10:23 am
Pues que esta fecha es del 2001 lo que le indica al browser que hace mucho tiempo que ya caduco la página con lo cual no hará una copia en el cache.
Publicado: 03/06/2009 11:43 am
la llamada esta mal
[code]include("function.php");
ae_nocache();[/code]
deberia ser
[code]include("function.php");
ae_nocache();[/code]
Publicado: 03/06/2009 11:45 am
perdon lo puse mal deberia ser
include(”function.php”);
nocache();
como el nombre de la funcion sino daria un error de que la funcion no existe
saludos
atx
Publicado: 13/10/2009 9:12 am
este IE es una M….. no me funciona ni con esto, tengo reportes en pdf y cuando genero uno me carga el anterior
Publicado: 27/01/2010 8:27 pm
gracias por el dato estaba queriendo esto gracias
Publicado: 27/01/2010 8:30 pm
por cierto se podra dar ese header a un archivo especifico????
Publicado: 02/06/2010 4:59 pm
Hola, muchas gracias, como siempre tu web con contenidos muy útiles…saludos desde Santiago de Chile..
Publicado: 19/07/2010 9:56 am
Yea !!!
Me fue de mucha utilidad en especial
header(“Cache-Control: no-store, no-cache, must-revalidate”);
para no volver a cargar votos de una web !!!
Publicado: 23/10/2010 2:39 pm
Muchas gracias por el aporte, llevaba una semana buscando la solucion.
Internet Explorer me tenia loco.
Publicado: 26/10/2010 12:29 pm
Hola a todos, el problema es que en firefox esto no me funciona, el problema se da porque llamo una función que me descarga una imagen desde la base de datos. Estas cabeceras las pongo luego de colocar las cabeceras de tipo de archivo, muy bien el archivo se visualiza, pero si cambio para que me muestre otra imagen me muestra la anterior y solo se arregla si presiono ctrl + f5
Publicado: 26/10/2010 1:27 pm
Retiro lo dicho, funciona perfectamente!!!!!
Publicado: 08/12/2010 6:59 pm
hola amigos yo creo que soy un poco tapado pero no entiendo por que no quieren enviar el cache de sus web?? haciendo esto no cargarian mas rapidos?
Publicado: 17/01/2011 6:32 am
alejandro:
“hola amigos yo creo que soy un poco tapado pero no entiendo por que no quieren enviar el cache de sus web?? haciendo esto no cargarian mas rapidos?”
en muchas ocasiones es necesario que el contenido sea actualizado por ejemplo al enviar datos a una base de datos
Publicado: 29/09/2011 11:09 am
Hola yo tengo un problema con web services, utilizo php para el cliente cn nusoap y java para el servidor con glassfish, el problema que tengo es que aveces al modificar datos en la base de datos del servidor y recargar la pagina me trae datos anteriores a la modificación, las cabeceras de php que mencionan también sirven para estos casos??? Gracias desde mexico !!