empecher la mise en cache

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Répondre
rufio

empecher la mise en cache

Message par rufio »

bonjour.

Dans ma page j'ais mis :
<META HTTP-EQUIV="Expires" content="0">
<META HTTP-EQUIV="Pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

ce qui empeche la mise en cache des images sous IE...

Mais probleme ca ne semble pas fonctrionner sur mozilla.
En effet, je viens de virer l'image en question et le navigateur continue a l'afficher.
donc question:
comment faire pour l'en empecher ???

Merci d'avance.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ce que tu mets dans ta page HTML s'applique à la page elle-même. Normalement pas à son contenu.
Pour cela, il faut que ce soit l'image elle-même qui contienne cette définition. Pour ça, il faut envoyer les entêtes HTTP correspondantes (ça peut se faire aussi pour la page HTML) :wink:
rufio

Message par rufio »

peut tu me donner quelques details la je ne comprend toujours pas comment faire...
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Il faut régler ton serveur pour envoyer ces entêtes. Et ça, ça dépend du serveur :wink:
rufio

Message par rufio »

pfff galere pour le developpement..
bon ben je vais voir ca.
super-cool

Message par super-cool »

rufio a écrit :pfff galere pour le developpement..
bon ben je vais voir ca.
salut

http://fr2.php.net/header

Exemple 5. Interdire la mise en cache avec header()

Code : Tout sélectionner

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
?> 
a copier dans le haut de la page, bien sur c'est du php et pas du html :)
++
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Et pour mettre ça dans une image… pas facile :|
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

Il faut faire ça via un .htaccess (je suppose que ton serveur http est Apache).

Par exemple, si tu as le mod_headers installé:

Code : Tout sélectionner

<Files ~ "\.(gif|jpe?g|png)$">
  Header set Cache-Control "no-cache, must-revalidate"
  Header set Pragma "no-cache"
  Header set Expires %D
</Files>
Dans le répertoire contenant tes images.
Pas sùr à 100% pour la ligne concernant Expires. À tester…
« La vie d’un geek est un combat perpétuel contre l’imperfection »
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Il y a aussi peut être d'autres solutions suivant la nature du problème.

Ce que je veux dire c'est est ce que ces images changent en gardant le même nom ? Si oui pourquoi et comment ? Il y a peut être des paramètres que l'on peut mettre dans l'url, qui feront recharger quand nécessaire.
Si c'est pour protéger les images, c'est illusoire.
epsy
Varan
Messages : 1024
Inscription : 21 déc. 2005, 19:58

Message par epsy »

salut,
calimo a écrit :Et pour mettre ça dans une image… pas facile :|
tatata, j'ai déja fait ce genre de choses des centaines de fois...

Code : Tout sélectionner

<?php
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
//definition du type de contenu
header("Content-Type: image/png");
//puis le contenu apres le "?>" de fin
?>
҈ - config- http://fr.enlightenment.org - wikipedia mon amiiii! - JID: epsy arobase :) jaim.at
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

Ce n’est valable que pour des images générées avec la librairie GD par exemple (Évidemment, on peut imaginer un script qui se borne à lire le fichier image qu’on lui indique et retourner les données binaires en sortie mais ça n’a pas vraiment de sens alors que les solutions de non mise en cache existent au sein du serveur http…)
« La vie d’un geek est un combat perpétuel contre l’imperfection »
deadalnix

Message par deadalnix »

non, pas forcement, ca peut aussi de faire avec un readfile.

Je l'ai fait aps mal de fois pour faire des dynavatars ^^

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

C'est exactement ce que Bobe a écrit... il y a un an et demi.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités