IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

Rafraichir une image dans le cache


Sujet :

Applets Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Points : 25
    Points
    25
    Par défaut Rafraichir une image dans le cache
    Bonjour,
    J'utilise un applet java qui permet de dessiner sur une image. Je sauve cette image par php puis je ré affiche l'applet avec l'image modifiée. Malheureusement l'image modifiée porte le même nom que l'ancienne, et c'est cette dernière qui reste affichée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <applet codeBase="./include/Poule3D/adraw" id="adraw" name="adraw" archive="aDraw.jar" code="aDraw.class" width=570 height=661 MAYSCRIPT>
            <param name="image"    value="../poule/Tete570.jpg">
     
            <param name="url" value="javascript:save();">
            <param name="save" value="Charger">
     </applet>
    J'ai tenté de vider le cache de java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <param name="cache_archive" value="aDraw.jar">
    <param name="cache_archive_ex" value="aDraw.jar">
    <param name="cache_option" value="No">
    <param name="cache_version" value="<?php echo time(); ?>">
    et celui du navigateur par les meta pragma sans succès. Seul le fait de redémarrer le navigateur permet d'afficher la dernière image.

    Auriez-vous une idée?
    Merci

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Oui : changer le nom de l'image. La méthode est rapide et efficace. Il suffit d'ajouter un timestamp dans le nom de l'image.
    Et ce nouveau nom peut être uniquement côté client. Par exemple, un nom d'une image modifié pourrait être "Tete570_1233223456_.jpg". Côté serveur, lorsqu'une requête pour une image arrive, ton code PHP va vérifier le format du nom et renverra "Tete570.jpg" en supprimant le timestamp ajouté à la volé dans le code HTML du client.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Je ne sais pas si c'est ce que tu as voulu me dire mais en cherchant un peu plus sur le timestamp, j'ai trouvé cette astuce qui ajoute un "paramètre" a l'image:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <param name="image"    value="../poule/Tete570.jpg?<?php echo time(); ?>">
    Et tout marche bien. Merci de m'avoir mis sur la voie .

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par clemphenix Voir le message
    Je ne sais pas si c'est ce que tu as voulu me dire mais en cherchant un peu plus sur le timestamp, j'ai trouvé cette astuce
    Oui, c'était bien ça

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Suffixe filectime()!
    Une petite astuce pour éviter les rechargements inutiles et accélérer l'affichage.

    Problème de la solution echo time():
    Ca fait changer le nom du fichier en cache à chaque chargement de la page, donc l'utilisateur va devoir à chaque fois attendre le chargement de toutes les images de la page, même s'il l'a déjà visitée une fois et qu'il n'y a eu aucune mise à jour depuis.

    Solution, la fonction filectime() en suffixe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <IMG src='<? echo $picture."?".filectime($picture); ?>'>
    La fonction filectime retourne la date de la dernière création du fichier.
    Donc tant que l'image ne change pas, le nom identique à celui en cache dans IE, et l'image s'affichera immédiatement.
    Quand l'image est mise à jour, la date de création change, donc le nom comparé au cache est différent, et uniquement cette image sera rechargée!

    En espérant que ça vous aidera.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. rafraichir une image dans un label
    Par pierre3401 dans le forum Général Python
    Réponses: 2
    Dernier message: 30/09/2013, 08h48
  2. [AJAX] Rafraichir une image dans une div
    Par Invité dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/03/2008, 17h21
  3. rafraichir une image dans la memoire
    Par gargantua dans le forum 2D
    Réponses: 4
    Dernier message: 17/01/2008, 16h16
  4. Empêcher l'utilisation d'une image dans le cache
    Par noinneh dans le forum Langage
    Réponses: 2
    Dernier message: 20/01/2007, 23h22
  5. Recharger une image dans la cache
    Par Prophetis dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/07/2006, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo