Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2007, 12h23   #1
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
Par défaut [Upload] Effectuer un rafraichissement des images

Bonjour,

Je permet sur mon site aux utilisateurs d'ajouter un avatar.

Ils peuvent ensuite le modifier...

Ca fonctionne parfaitement mais il faut effectuer un refresh du browser ( F5 ) et alors seulement la nouvelle image s'affiche...

Est-ce un problème php ou internet explorer ?

Comment résoudre cela?

Merci
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 12h43   #2
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 59
Détails du profil
Informations personnelles :
Localisation : France, Maine et Loire (Pays de la Loire)

Informations forums :
Inscription : janvier 2007
Messages : 59
Points : 33
Points : 33
Envoyer un message via MSN à u115rcu
Bonjour,
Si le membre change son image et s'en va et en suite revient sur ton site, est ce que sa nouvelle image apparait?
u115rcu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 12h53   #3
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Bonjour,

Cela peut très bien être du à une image en cache (dans le cas ou l'image upload à toujours le même nom).
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 12h55   #4
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 59
Détails du profil
Informations personnelles :
Localisation : France, Maine et Loire (Pays de la Loire)

Informations forums :
Inscription : janvier 2007
Messages : 59
Points : 33
Points : 33
Envoyer un message via MSN à u115rcu
Oui je suis d'accord donc deux solutions sans doute:
1. changer le nom de l'image quand elle est changé mais tu dois utiliser ce nom pour simplifier les choses...
2. lancer un refresh dans le code
u115rcu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 13h06   #5
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Rafraichir une page ne changera rien à ton pb ... (Surtout un refresh côté serveur non client, car ce qui est important ici, c'est le cache du client).
Surtout si la personne n'utilise que les images en cache.

Le meilleur moyen reste encore de demander une actualisation si la nouvelle image ne s'affiche pas (F5 actualise, CTRL + F5 actualise le cache, il me semble ...).
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 14h41   #6
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
Citation:
Envoyé par u115rcu
Bonjour,
Si le membre change son image et s'en va et en suite revient sur ton site, est ce que sa nouvelle image apparait?
re,

l'image change unique via f5 ( refresh )

oui, j'utilise à chaque fois le même nom...

Comment faire ?

Merci
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 14h56   #7
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Citation:
Envoyé par innova
Comment faire ?
La solution la plus simple, serait de demander à ton visiteur de faire CTRL + F5 ... ça mange pas de pain :').

Sinon tu peux alterner le nom de ton image du style :
Code X :
1
2
3
4
Si $nom.jpg est trouvé, alors la nouvelle image aura pour nom : md5($nom).jpg .
Autrement si md5($nom) est trouvé, alors la nouvelle image aura pour nom : $nom.jpg .

Autrement aucune image n'existe.
C'est un tour de passe-passe, peu esthétique au niveau du code ... mais il n'y a que ça qui me viens à l'esprit ... (Doit bien avoir une commande en JS pour actualiser le cache ...)
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 18h14   #8
Rédacteur/Modérateur
 
Avatar de marcha
 
Homme Marc Chappuis
Développeur Web
Inscription : décembre 2003
Messages : 1 535
Détails du profil
Informations personnelles :
Nom : Homme Marc Chappuis
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2003
Messages : 1 535
Points : 2 206
Points : 2 206
Salut,

Moi j'utilise une query string changeante pour éviter le cache, j'ai
jamais eu de problème de refresh avec cette technique.

Code :
1
2
 
<img src='avatar.jpg?1223143243' />
Idéalement tu ajoute le timestamp de la date de modif de l'image à ton
url. fonction filemtime sauf erreur
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
marcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2007, 08h06   #9
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Une solution serait d'utiliser une image dynamique en faisant une copie comme ceci :
Code :
1
2
3
4
5
6
7
8
9
<?php
  $image='image.jpg';   
  $type=getimagesize($image);
  $handle=fopen($image, 'rb');
  @header('Cache-Control: no-cache, must-revalidate');
  @header('Pragma: no-cache');
  @header('Content-type: ' . $type['mime']);
  @fpassthru($handle);
?>
Tu nommes ce script 'image.php' et tu l'utilises à la place de ton image :
Code :
<img src="image.php" alt="mon image"/>
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2007, 06h55   #10
Membre régulier
 
Avatar de innova
 
Inscription : juillet 2004
Messages : 185
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 185
Points : 73
Points : 73
Citation:
Envoyé par Sub0
Une solution serait d'utiliser une image dynamique en faisant une copie comme ceci :
Code :
1
2
3
4
5
6
7
8
9
<?php
  $image='image.jpg';   
  $type=getimagesize($image);
  $handle=fopen($image, 'rb');
  @header('Cache-Control: no-cache, must-revalidate');
  @header('Pragma: no-cache');
  @header('Content-type: ' . $type['mime']);
  @fpassthru($handle);
?>
Tu nommes ce script 'image.php' et tu l'utilises à la place de ton image :
Code :
<img src="image.php" alt="mon image"/>
re,

Je suis un perdu...

Quelqu'un pourrait me montre un petit exemple avec un simple et formulaire ?

Ajouter et puis réafficher avec l'image en vue de la modifier...

Merci
++
innova est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h51.


 
 
 
 
Partenaires

Hébergement Web