Empecher la mise en cache d'une image
Fermé
Bonjour,
j'aimerais que mon application Windows 8 ne mette pas en cache une certaine image (afin de la changer chaque jour ) sauf que c'est ce qui se produit et selon les mecs de Microsoft il faut voir du côté serveur avec par exemple un fichier .htaccess , sauf que j'ai essayé sur mon hébergement free.fr et un autre site aussi et ça ne marche pas voire bloque l'accès au site hébergé sur ces serveurs (ainsi qu'à l'image voulue ) pourriez vous m'aider svp?
j'aimerais que mon application Windows 8 ne mette pas en cache une certaine image (afin de la changer chaque jour ) sauf que c'est ce qui se produit et selon les mecs de Microsoft il faut voir du côté serveur avec par exemple un fichier .htaccess , sauf que j'ai essayé sur mon hébergement free.fr et un autre site aussi et ça ne marche pas voire bloque l'accès au site hébergé sur ces serveurs (ainsi qu'à l'image voulue ) pourriez vous m'aider svp?
A voir également:
- Empecher la mise en cache d'une image
- Mise en forme conditionnelle excel - Guide
- Appel caché - Guide
- Copie caché - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
2 réponses
ElementW
Messages postés
4814
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 227
3 mars 2014 à 12:18
3 mars 2014 à 12:18
'lut, quelque soit le serveur que tu utilises, il faut faire en sorte que l'en-tête HTTP
Free.fr utilise des serveurs Apache, et il faut se servir du module mod_headers pour controler les en-têtes, mais chez free, le .htaccess ne sert presque à rien; il n'autorise que très très très peu de commandes (voir ici, paragraphe Les directives autorisées), et l'inclusion d'un
Tu est donc coincé; une autre solution est de se servir de PHP pour paramétrer les en-têtes:
Cache-Control: no-cachesoit transféré avec l'image, il désactive la mise en cache. Les anciens navigateurs ne gérant que HTTP/1.0 ne comprennent pas
Cache-Control, aussi peut-il être utile de spécifier
Pragma: no-cache.
Free.fr utilise des serveurs Apache, et il faut se servir du module mod_headers pour controler les en-têtes, mais chez free, le .htaccess ne sert presque à rien; il n'autorise que très très très peu de commandes (voir ici, paragraphe Les directives autorisées), et l'inclusion d'un
<IfModule>donne une erreur 500...
Tu est donc coincé; une autre solution est de se servir de PHP pour paramétrer les en-têtes:
<?php header('Cache-Control: no-cache'); header('Pragma: no-cache'); readfile("adresse de l'image"); ?>
Merci pour ta réponse mais dans ce cas comment dois-je faire pour paramétrer les en-têtes en php SVP?
Je n'ai pas de bases en php mais est-ce un fichier à rajouter en php A COTE de l'image ou bien autre chose?
Merci encore ^^
Je n'ai pas de bases en php mais est-ce un fichier à rajouter en php A COTE de l'image ou bien autre chose?
Merci encore ^^
ElementW
Messages postés
4814
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 227
Modifié par gravgun le 3/03/2014 à 12:35
Modifié par gravgun le 3/03/2014 à 12:35
En PHP, la fonction
Il faut ajouter ce fichier à coté de l'image, et le mettre dans ta balise:
header()paramètre un en-tête HTTP selon ce qu'on lui met comme paramètre;
header('Pragma: no-cache');résultera en un en-tête
Pragma: no-cache.
Il faut ajouter ce fichier à coté de l'image, et le mettre dans ta balise:
<img src="monimage.php" />. Explication: le PHP va paramétrer les en-têtes comme il faut, puis envoyer le contenu de l'image. Il manque un header cependant, celui qui indique le type de données envoyées:
Content-Type; voici une meilleure version:
<?php $adresse = "[ICI METTRE L'ADRESSE DE L'IMAGE (relative à l'emplacement du fichier php)]" header('Cache-Control: no-cache'); header('Pragma: no-cache'); header('Content-Length: '.filesize($adresse)); header('Content-Type: [TYPE]'); readfile($adresse); ?>Il faut remplacer [TYPE] par image/jpeg si ton image est en .jpg/.jpeg ou par image/png si c'est du .png .