Comment effacer le cache du navigateur avec php?
6 réponses
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");
Vous pouvez supprimer le cache du navigateur en définissant ces en-têtes:
<?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");
?>
clearstatcache () ne supprime pas le cache du navigateur. La fonction clearstatcache () de php effectue le travail de nettoyage du cache d'état du fichier dans le serveur.
PHP clearstatcache () efface le cache de l'état du fichier sur le serveur. Cela n'a rien à voir avec la cache du navigateur.
il seams vous avez besoin de verionate, donc quand un changement se produit navigateur va attraper quelque chose de nouveau et l'utilisateur n'aura pas besoin de nettoyer la cache du navigateur.
Vous pouvez le faire par des sous-dossiers (example /css/v1/style.css)
ou par nom de fichier (example: css/style_v1.css)
ou même en définissant différents dossiers pour votre site web, exemple:
www.mywebsite.com/site1
www.mywebsite.com/site2
www.mywebsite.com/site3
Et utiliser un .htaccess ou même changer httpd.conf rediriger vers votre application actuelle.
Si image ou page:
<?$time = date("H:i:s");?>
<img src="myfile.jpg?time=<?$time;?>">
vous pouvez utiliser $temps sur les pièces quand vous ne voulez pas de cache. Donc, il va toujours tirer une nouvelle image. Verionne il seams une meilleure approche, sinon il peut surcharger votre serveur. Rappelez-vous, cache du navigateur il est non seulement bon pour l'expérience de l'utilisateur, mais aussi pour votre serveur.