it-swarm-pt.tech

Como limpar o cache do navegador com php?

Como limpar o cache do navegador com php?

45
ZA.
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Content-Type: application/xml; charset=utf-8");
49
ZA.

Você pode excluir o cache do navegador definindo esses cabeçalhos:

<?php
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
32
user1032289

Ele precisa ser versionado, então, quando alguma mudança acontecer, o navegador detectará algo novo e o usuário não precisará limpar o cache do navegador. 

Você pode fazer isso por subpastas (example /css/v1/style.css) ou pelo nome de arquivo (example: css/style_v1.css) ou até mesmo definindo pastas diferentes para o seu site, por exemplo:

www.mywebsite.com/site1

www.mywebsite.com/site2

www.mywebsite.com/site3

E use um .htaccess ou mude o httpd.conf para redirecionar para seu aplicativo atual.

Se é sobre um imagem ou página :

    <?$time = date("H:i:s");?>
    <img src="myfile.jpg?time=<?$time;?>">

Você pode usar $ time em partes quando não quiser armazenar em cache. Por isso, sempre puxará uma nova imagem. O Versionate é uma abordagem melhor, caso contrário, pode sobrecarregar o servidor. Lembre-se, o cache do navegador não é apenas bom para a experiência do usuário, mas também para o seu servidor.

0
Marcelo Agimóvel