Upload d'image & cache

Eléphant du PHP | 66 Messages

15 juil. 2008, 10:13

Bonjour,

Je suis en train de développer une partie d'administration. Dans certains formulaires, on peut uploader une image: cette image est renommée automatiquement avant d'être stockée à une place déterminée.

Problème: lorsque l'utilisateur supprime une image uploadée pour en uploader une autre à la place, c'est l'ancienne image qui s'affiche! Il s'agit d'un problème de cache, car il suffit de forcer le navigateur à recharger la page pour qu'il affiche bien la nouvelle image. Le fait que la nouvelle image porte le même nom que l'ancienne doit y être pour qqchose bien entendu...

Existe-t-il une solution codable pour supprimer du cache du navigateur l'image lors de sa suppression sur le serveur? Ou une autre idée peut-être?

Merci pour vos conseils! :wink:

Mammouth du PHP | 959 Messages

15 juil. 2008, 12:46

Salut, si t'es sur que c'est un problème de navigateur, tu peux utilise la balise meta :

Code : Tout sélectionner

<meta http-equiv="pragma" content="no-cache">
Mais je crois que cette balise meta à été laissée tombé avec le temps, un truc plus fiable, ou lieu d'afficher l'image :

Code : Tout sélectionner

<img src="monimg.jpg" alt="" />
dans ta page, tu vas faire afficher :
<img src="monimg.jpg?<?php echo time(); ?>" alt="" />
se qui va afficher un truc du genre :

Code : Tout sélectionner

<img src="monimg.jpg?1216118705" alt="" />
et ce nombre, c'est ça un grand nombre qui augmente toute les secondes ;) donc ton navigateur va croire que c'est une nouvelle image ;)

PS: je crois que ce sujet à déjà été traité sur PHPFrance, donc une petite recherche te permettras d'en savoir plus...

Eléphant du PHP | 53 Messages

15 juil. 2008, 16:28

Je suis d'accord avec Chris the bricolo, vu que ton interaction avec le navigateur est limité, la solution d'ajouter un paramètre est bon.

Perso je l'ai déjà utilisé pour le même cas.

Eléphant du PHP | 66 Messages

16 juil. 2008, 10:11

Super, merci pour l'astuce! 8-)