J'ai un script qui me permet de modifier une image sur le serveur (la
faire tourner). Le problème, c'est que si je l'exécute et que j'affiche
l'image de nouveau, le navigateur garde l'ancienne version du fichier
image.
Est-il possible de contourner le problème en envoyant l'image via le
script (avec un header qui va bien) ? N'y aurait-il pas une meilleur
solution en html (pas les tag <meta> de la page car ça ne fonctionne pas
pour les images)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc Molina
Damien Accorsi a écrit/wrote :
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.
Est-il possible de contourner le problème en envoyant l'image via le script (avec un header qui va bien) ? N'y aurait-il pas une meilleur solution en html (pas les tag <meta> de la page car ça ne fonctionne pas pour les images)
En utilisant la directive Cache dans ton Header, je n'ai pas l'exemple en tête mais sur Google tu trouveras forcément un exemple : header ("Content-Type : image/png"); header ("Cache...");
Simplement pour forcer le navigateur à vider son cache car si l'image tournée porte le même nom, il se peut qu'il n'ait pas mis à jour son cache et qu'il t'affiche la même image. Le bouton rafraîchir du navigateur n'y change rien ?
-- Jean-Marc.
Clé anti pourriel : PASUNPOURRIEL (Ne pas retirer de votre réponse si vous me l'adressez directement) / Anti spam key : NOTASPAM (Do not remove from your reply if you directly send it to me)
Damien Accorsi a écrit/wrote :
J'ai un script qui me permet de modifier une image sur le serveur (la
faire tourner). Le problème, c'est que si je l'exécute et que
j'affiche l'image de nouveau, le navigateur garde l'ancienne version
du fichier image.
Est-il possible de contourner le problème en envoyant l'image via le
script (avec un header qui va bien) ? N'y aurait-il pas une meilleur
solution en html (pas les tag <meta> de la page car ça ne fonctionne
pas pour les images)
En utilisant la directive Cache dans ton Header, je n'ai pas l'exemple en
tête mais sur Google tu trouveras forcément un exemple :
header ("Content-Type : image/png");
header ("Cache...");
Simplement pour forcer le navigateur à vider son cache car si l'image
tournée porte le même nom, il se peut qu'il n'ait pas mis à jour son cache
et qu'il t'affiche la même image. Le bouton rafraîchir du navigateur n'y
change rien ?
--
Jean-Marc.
Clé anti pourriel : PASUNPOURRIEL (Ne pas retirer de votre réponse si
vous me l'adressez directement) / Anti spam key : NOTASPAM (Do not
remove from your reply if you directly send it to me)
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.
Est-il possible de contourner le problème en envoyant l'image via le script (avec un header qui va bien) ? N'y aurait-il pas une meilleur solution en html (pas les tag <meta> de la page car ça ne fonctionne pas pour les images)
En utilisant la directive Cache dans ton Header, je n'ai pas l'exemple en tête mais sur Google tu trouveras forcément un exemple : header ("Content-Type : image/png"); header ("Cache...");
Simplement pour forcer le navigateur à vider son cache car si l'image tournée porte le même nom, il se peut qu'il n'ait pas mis à jour son cache et qu'il t'affiche la même image. Le bouton rafraîchir du navigateur n'y change rien ?
-- Jean-Marc.
Clé anti pourriel : PASUNPOURRIEL (Ne pas retirer de votre réponse si vous me l'adressez directement) / Anti spam key : NOTASPAM (Do not remove from your reply if you directly send it to me)
luc
Bonojur, regarde dans dans l'en-tête ; ) <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> ; ) Ceci va empècher le navigateur de mettre la page en cache ; ) donc plus de souci avec la mise en cache de ton image ; ) Plus simple pas possible ; ) plus compliquer c'est possible ; )
@+ Luc
Bonjour,
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.
Est-il possible de contourner le problème en envoyant l'image via le script (avec un header qui va bien) ? N'y aurait-il pas une meilleur solution en html (pas les tag <meta> de la page car ça ne fonctionne pas pour les images)
Merci
Damien
Bonojur,
regarde dans dans l'en-tête ; ) <META HTTP-EQUIV="Pragma"
CONTENT="no-cache"> ; )
Ceci va empècher le navigateur de mettre la page en cache ; ) donc plus
de souci avec la mise en cache de ton image ; )
Plus simple pas possible ; ) plus compliquer c'est possible ; )
@+
Luc
Bonjour,
J'ai un script qui me permet de modifier une image sur le serveur (la
faire tourner). Le problème, c'est que si je l'exécute et que j'affiche
l'image de nouveau, le navigateur garde l'ancienne version du fichier
image.
Est-il possible de contourner le problème en envoyant l'image via le
script (avec un header qui va bien) ? N'y aurait-il pas une meilleur
solution en html (pas les tag <meta> de la page car ça ne fonctionne pas
pour les images)
Bonojur, regarde dans dans l'en-tête ; ) <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> ; ) Ceci va empècher le navigateur de mettre la page en cache ; ) donc plus de souci avec la mise en cache de ton image ; ) Plus simple pas possible ; ) plus compliquer c'est possible ; )
@+ Luc
Bonjour,
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.
Est-il possible de contourner le problème en envoyant l'image via le script (avec un header qui va bien) ? N'y aurait-il pas une meilleur solution en html (pas les tag <meta> de la page car ça ne fonctionne pas pour les images)
Merci
Damien
John Gallet
Bonjour,
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.
J'avais souvenance que pragma no cache suffisait, mais bon, puisque tu nous dit le contraire, on va admettre que, et cela peut en effet être dépendant du navigateur de toutes façons.
Une solution simple consiste à donner un nom aléatoire à ton image (lui coller un préfixe de 10 chiffres, un underscore, et son nom actuel, par exemple) à chaque requête de "tour", ce qui forcera le téléchargement systématique. Ou un préfixe qui indique l'angle de vue. Bref, de changer le nom du fichier d'une manière ou d'une autre.
Il te reste à purger tous les fichiers vieux de plus de trois minutes à chaque requête pour que tout ceci soit comme les fours à pyrolyse, c'est à dire auto-nettoyant. Pas d'accès concurrentiels à gérer selon ce que je comprends de ton besoin, mais sinon y penser.
Si cela se fait avec toujours la même image, le plus simple est évidemment d'avoir toutes les vues précalculées, et de ne pas les regénérer à chaque fois. A voir si c'est une "base" avec une grande quantité de photos, cas dans lequel tu peux en effet préférer échager du temps CPU contre de l'espace disque pour ne pas avoir N fois la place prise pour une seule photo selon ses N angles de vue.
a++ JG
Bonjour,
J'ai un script qui me permet de modifier une image sur le serveur (la
faire tourner). Le problème, c'est que si je l'exécute et que j'affiche
l'image de nouveau, le navigateur garde l'ancienne version du fichier
image.
J'avais souvenance que pragma no cache suffisait, mais bon, puisque tu
nous dit le contraire, on va admettre que, et cela peut en effet être
dépendant du navigateur de toutes façons.
Une solution simple consiste à donner un nom aléatoire à ton image (lui
coller un préfixe de 10 chiffres, un underscore, et son nom actuel, par
exemple) à chaque requête de "tour", ce qui forcera le téléchargement
systématique. Ou un préfixe qui indique l'angle de vue. Bref, de changer
le nom du fichier d'une manière ou d'une autre.
Il te reste à purger tous les fichiers vieux de plus de trois minutes à
chaque requête pour que tout ceci soit comme les fours à pyrolyse, c'est
à dire auto-nettoyant. Pas d'accès concurrentiels à gérer selon ce que
je comprends de ton besoin, mais sinon y penser.
Si cela se fait avec toujours la même image, le plus simple est
évidemment d'avoir toutes les vues précalculées, et de ne pas les
regénérer à chaque fois. A voir si c'est une "base" avec une grande
quantité de photos, cas dans lequel tu peux en effet préférer échager du
temps CPU contre de l'espace disque pour ne pas avoir N fois la place
prise pour une seule photo selon ses N angles de vue.
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.
J'avais souvenance que pragma no cache suffisait, mais bon, puisque tu nous dit le contraire, on va admettre que, et cela peut en effet être dépendant du navigateur de toutes façons.
Une solution simple consiste à donner un nom aléatoire à ton image (lui coller un préfixe de 10 chiffres, un underscore, et son nom actuel, par exemple) à chaque requête de "tour", ce qui forcera le téléchargement systématique. Ou un préfixe qui indique l'angle de vue. Bref, de changer le nom du fichier d'une manière ou d'une autre.
Il te reste à purger tous les fichiers vieux de plus de trois minutes à chaque requête pour que tout ceci soit comme les fours à pyrolyse, c'est à dire auto-nettoyant. Pas d'accès concurrentiels à gérer selon ce que je comprends de ton besoin, mais sinon y penser.
Si cela se fait avec toujours la même image, le plus simple est évidemment d'avoir toutes les vues précalculées, et de ne pas les regénérer à chaque fois. A voir si c'est une "base" avec une grande quantité de photos, cas dans lequel tu peux en effet préférer échager du temps CPU contre de l'espace disque pour ne pas avoir N fois la place prise pour une seule photo selon ses N angles de vue.
a++ JG
Damien Accorsi
On Wed, 16 Jun 2004 14:31:06 +0000, John Gallet wrote:
Bonjour,
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.
J'avais souvenance que pragma no cache suffisait, mais bon, puisque tu nous dit le contraire, on va admettre que, et cela peut en effet être dépendant du navigateur de toutes façons.
cela dépend effectivement de la config du navigateur (en tout cas, sur le mien).
Une solution simple consiste à donner un nom aléatoire à ton image (lui coller un préfixe de 10 chiffres, un underscore, et son nom actuel, par exemple) à chaque requête de "tour", ce qui forcera le téléchargement systématique. Ou un préfixe qui indique l'angle de vue. Bref, de changer le nom du fichier d'une manière ou d'une autre.
oui, en fait c'est ce genre de solution que je vais vraisemblablement retenir : j'ai fait un mini-script qui lit le fichier image et qui le transmet. L'url de l'image est donc un script php et visiblement le navigateur ne garde pas cette image en mémoire. A valider avec d'autres navigateurs.
Si cela se fait avec toujours la même image, le plus simple est évidemment d'avoir toutes les vues précalculées, et de ne pas les regénérer à chaque fois. A voir si c'est une "base" avec une grande quantité de photos, cas dans lequel tu peux en effet préférer échager du temps CPU contre de l'espace disque pour ne pas avoir N fois la place prise pour une seule photo selon ses N angles de vue.
ce n'est pas nécessaire : c'est pour un album photo, et la manipulation permet simplement de tourner la photo une bonne fois pour toute dans la bonne position.
Damien
On Wed, 16 Jun 2004 14:31:06 +0000, John Gallet wrote:
Bonjour,
J'ai un script qui me permet de modifier une image sur le serveur (la
faire tourner). Le problème, c'est que si je l'exécute et que j'affiche
l'image de nouveau, le navigateur garde l'ancienne version du fichier
image.
J'avais souvenance que pragma no cache suffisait, mais bon, puisque tu
nous dit le contraire, on va admettre que, et cela peut en effet être
dépendant du navigateur de toutes façons.
cela dépend effectivement de la config du navigateur (en tout cas, sur le
mien).
Une solution simple consiste à donner un nom aléatoire à ton image (lui
coller un préfixe de 10 chiffres, un underscore, et son nom actuel, par
exemple) à chaque requête de "tour", ce qui forcera le téléchargement
systématique. Ou un préfixe qui indique l'angle de vue. Bref, de changer
le nom du fichier d'une manière ou d'une autre.
oui, en fait c'est ce genre de solution que je vais vraisemblablement
retenir : j'ai fait un mini-script qui lit le fichier image et qui le
transmet. L'url de l'image est donc un script php et visiblement le
navigateur ne garde pas cette image en mémoire. A valider avec d'autres
navigateurs.
Si cela se fait avec toujours la même image, le plus simple est
évidemment d'avoir toutes les vues précalculées, et de ne pas les
regénérer à chaque fois. A voir si c'est une "base" avec une grande
quantité de photos, cas dans lequel tu peux en effet préférer échager du
temps CPU contre de l'espace disque pour ne pas avoir N fois la place
prise pour une seule photo selon ses N angles de vue.
ce n'est pas nécessaire : c'est pour un album photo, et la manipulation
permet simplement de tourner la photo une bonne fois pour toute dans la
bonne position.
On Wed, 16 Jun 2004 14:31:06 +0000, John Gallet wrote:
Bonjour,
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.
J'avais souvenance que pragma no cache suffisait, mais bon, puisque tu nous dit le contraire, on va admettre que, et cela peut en effet être dépendant du navigateur de toutes façons.
cela dépend effectivement de la config du navigateur (en tout cas, sur le mien).
Une solution simple consiste à donner un nom aléatoire à ton image (lui coller un préfixe de 10 chiffres, un underscore, et son nom actuel, par exemple) à chaque requête de "tour", ce qui forcera le téléchargement systématique. Ou un préfixe qui indique l'angle de vue. Bref, de changer le nom du fichier d'une manière ou d'une autre.
oui, en fait c'est ce genre de solution que je vais vraisemblablement retenir : j'ai fait un mini-script qui lit le fichier image et qui le transmet. L'url de l'image est donc un script php et visiblement le navigateur ne garde pas cette image en mémoire. A valider avec d'autres navigateurs.
Si cela se fait avec toujours la même image, le plus simple est évidemment d'avoir toutes les vues précalculées, et de ne pas les regénérer à chaque fois. A voir si c'est une "base" avec une grande quantité de photos, cas dans lequel tu peux en effet préférer échager du temps CPU contre de l'espace disque pour ne pas avoir N fois la place prise pour une seule photo selon ses N angles de vue.
ce n'est pas nécessaire : c'est pour un album photo, et la manipulation permet simplement de tourner la photo une bonne fois pour toute dans la bonne position.
Damien
Damien Accorsi
On Wed, 16 Jun 2004 14:31:06 +0000, Jean-Marc Molina wrote:
Damien Accorsi a écrit/wrote :
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.)
En utilisant la directive Cache dans ton Header, je n'ai pas l'exemple en tête mais sur Google tu trouveras forcément un exemple : header ("Content-Type : image/png"); header ("Cache...");
Simplement pour forcer le navigateur à vider son cache car si l'image tournée porte le même nom, il se peut qu'il n'ait pas mis à jour son cache et qu'il t'affiche la même image. Le bouton rafraîchir du navigateur n'y change rien ?
"Content-Type : image/png" : c'est un peu ce que je cherchais, mais finalement, ça ne va pas aller car du coup, le cache ne sera concerné pour *aucune* de mes images, et le problème qui se présente à moi est de ne pas "cacher" une *unique* image.
"Pragma no cache" semble fonctionner pour la page html et est de toute façon encore plus "général" que ce que tu me propose.
On Wed, 16 Jun 2004 14:31:06 +0000, Jean-Marc Molina wrote:
Damien Accorsi a écrit/wrote :
J'ai un script qui me permet de modifier une image sur le serveur (la
faire tourner). Le problème, c'est que si je l'exécute et que
j'affiche l'image de nouveau, le navigateur garde l'ancienne version
du fichier image.)
En utilisant la directive Cache dans ton Header, je n'ai pas l'exemple en
tête mais sur Google tu trouveras forcément un exemple :
header ("Content-Type : image/png");
header ("Cache...");
Simplement pour forcer le navigateur à vider son cache car si l'image
tournée porte le même nom, il se peut qu'il n'ait pas mis à jour son cache
et qu'il t'affiche la même image. Le bouton rafraîchir du navigateur n'y
change rien ?
"Content-Type : image/png" : c'est un peu ce que je cherchais, mais finalement, ça ne va pas aller car
du coup, le cache ne sera concerné pour *aucune* de mes images, et le
problème qui se présente à moi est de ne pas "cacher" une *unique* image.
"Pragma no cache" semble fonctionner pour la page html et est de toute
façon encore plus "général" que ce que tu me propose.
On Wed, 16 Jun 2004 14:31:06 +0000, Jean-Marc Molina wrote:
Damien Accorsi a écrit/wrote :
J'ai un script qui me permet de modifier une image sur le serveur (la faire tourner). Le problème, c'est que si je l'exécute et que j'affiche l'image de nouveau, le navigateur garde l'ancienne version du fichier image.)
En utilisant la directive Cache dans ton Header, je n'ai pas l'exemple en tête mais sur Google tu trouveras forcément un exemple : header ("Content-Type : image/png"); header ("Cache...");
Simplement pour forcer le navigateur à vider son cache car si l'image tournée porte le même nom, il se peut qu'il n'ait pas mis à jour son cache et qu'il t'affiche la même image. Le bouton rafraîchir du navigateur n'y change rien ?
"Content-Type : image/png" : c'est un peu ce que je cherchais, mais finalement, ça ne va pas aller car du coup, le cache ne sera concerné pour *aucune* de mes images, et le problème qui se présente à moi est de ne pas "cacher" une *unique* image.
"Pragma no cache" semble fonctionner pour la page html et est de toute façon encore plus "général" que ce que tu me propose.