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

Langage PHP Discussion :

vider le cache navigateur ?


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 24
    Points
    24
    Par défaut vider le cache navigateur ?
    Bonjour,
    Je suis en train de réaliser une galerie photo en ligne. Tout marche très bien sauf un dernier problème qui me résiste.

    Lorsque j'upload les images, elles sont aussi redimenssionnées, mais le script qui redimenssionne l'image ne comprend pas toujours bien l'orientation de l'image.
    J'ai donc créer une petite fonction qui permet la rotation de celle ci.
    Il apparait que la rotation a bien lieu, mais le navigateur ne rafraichit pas l'image, et elle semble rester identique. Même si je fait rafraichir la page via un header('location: …');

    Je pense que que ce problème est lié au cache du navigateur.
    Une des solution consisterai a renommer l'image, mais je ne souhaite pas le faire, car les update de la base de donnée seraient lourds a gérer.

    Merci de m'indiquer comment bien vider le cache navigateur via un script php, et faire en sorte que la rotation s'affiche après qu'elle est eu lieu.

    Merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 385
    Points : 10 413
    Points
    10 413
    Par défaut
    Salut,

    Le mieux serait de résoudre le problème à la source...

    Citation Envoyé par lolalilo Voir le message
    Lorsque j'upload les images, elles sont aussi redimenssionnées, mais le script qui redimenssionne l'image ne comprend pas toujours bien l'orientation de l'image.
    J'ai donc créer une petite fonction qui permet la rotation de celle ci.
    Cela veux dire quoi exactement ? Cela fait longtemps que je fais des galeries photos avec des redimensionnements lors de l'upload et je n'ai jamais eu ce problème. Tu peux préciser ?

    Sinon pour faire rafraichir le cache du navigateur on peut envoyer une variable aléatoire dans l'url.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    L'orientation d'une image peut être assez problématique, n'importe quel visualisateur d'image a la fonction rotation d'image pour palier à ce problème ...
    Donc régler le problème à la source, personnellement je n'ai pas les moyens de facebook ou google. développer une fonction qui reconnaisse dans n'importe qu'elle cas l'orientation des images est un vrai bouzin, tu le saurais si tu avais été confronté a ce problème.

    Merci de répondre à ma question qui concerne le cache navigateur.... c'est quoi 'envoyer une variable aléatoire dans l'url' ? Ca me parait un peu tordu comme solution, et pas très élégant.
    S'il s'agit de rajouter un ?truc=variableAléatoire, je peux pas pour des raison de clean url ...

  4. #4
    Membre éclairé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Points : 747
    Points
    747
    Par défaut
    +1 pour la variable aléatoire.

    Sinon, si tu as accès à la config de ton serveur (et si celui-ci est Apache)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
        Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
    </FilesMatch>

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Une petite précision aussi.
    Comme son nom l'indique, le cache du navigateur (qui n'est pas le même que celui du serveur) appartient au navigateur, donc à l'utilisateur, tu n'as donc pas la main dessus et ne peut pas le manipuler (et encore moins le vider).
    Il faut donc soit prévenir qu'il ne faut pas mettre tel fichier en cache (solution de valaendra), soit faire croire qu'il s'agit d'une ressource différente (solution de ABCIWEB).
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Ok, après quelques investigations,
    J'ai trouvé ça http://blog.websourcing.fr/webdesign...de-votre-site/

    J'ai donc adapté cette solution à mon problème, au lieu d'integrer une variable aléatoire dans l'url de la page, j'ai integré un timestamp (en fait un microtime(true); ) dans l'url de l'image.
    exemple : <img src="p1030200.jpg?1416389292.3813" >

    Et ça semble bien marcher, jusque là.

    Merci de votre aide.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/03/2014, 10h32
  2. Vider le cache des navigateurs pour développer
    Par tim1789 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 13/12/2011, 17h17
  3. Réponses: 0
    Dernier message: 14/02/2011, 17h28
  4. vider mémoire cache du navigateur
    Par floran974 dans le forum Langage
    Réponses: 3
    Dernier message: 16/06/2009, 15h57
  5. Vider le Cache d'un navigateur
    Par PrinceMaster77 dans le forum VBScript
    Réponses: 6
    Dernier message: 05/12/2006, 09h24

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