Temps d'apparition d'une image
Résolu/Fermé
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
-
Modifié par Whismeril le 15/07/2015 à 21:51
janmar Messages postés 148 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 29 août 2015 - 20 juil. 2015 à 17:35
janmar Messages postés 148 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 29 août 2015 - 20 juil. 2015 à 17:35
A voir également:
- Temps d'apparition d'une image
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
- Image iso - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Comment agrandir une image - Guide
- Acronis true image - Télécharger - Sauvegarde
4 réponses
jordane45
Messages postés
38359
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 décembre 2024
4 720
15 juil. 2015 à 22:08
15 juil. 2015 à 22:08
Bonjour,
Une fois que tu as supprimé l'image de ton répertoire .... rafraichis tu ta page (celle qui contient les liens ) ???
Car sinon.. tant que la page est affichée... le lien existe !
Une fois que tu as supprimé l'image de ton répertoire .... rafraichis tu ta page (celle qui contient les liens ) ???
Car sinon.. tant que la page est affichée... le lien existe !
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
3
15 juil. 2015 à 22:33
15 juil. 2015 à 22:33
Merci de ta contribution jordane45.
Il ne s'agit pas de rafraichissement de la page, j'ai bien sûr systématiquement rafraichi la page. Mieux même, je ferme mon navigateur complètement, et le rallume disons 30 secondes après, après avoir vidé complètement le cache du navigateur ----> même résultat.
Au bout de 5 minutes (environ) la modification de l'image apparait.
Je suppose donc qu'il existe un cache sur le serveur qui garde en mémoire je ne sais quoi, mais qui s'efface de lui-même au bout d'un certain temps.
Une idée ? merci d'avance.
Il ne s'agit pas de rafraichissement de la page, j'ai bien sûr systématiquement rafraichi la page. Mieux même, je ferme mon navigateur complètement, et le rallume disons 30 secondes après, après avoir vidé complètement le cache du navigateur ----> même résultat.
Au bout de 5 minutes (environ) la modification de l'image apparait.
Je suppose donc qu'il existe un cache sur le serveur qui garde en mémoire je ne sais quoi, mais qui s'efface de lui-même au bout d'un certain temps.
Une idée ? merci d'avance.
jordane45
Messages postés
38359
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 décembre 2024
4 720
15 juil. 2015 à 22:38
15 juil. 2015 à 22:38
Comment alimentes tu ta variable $chemin ?
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
3
15 juil. 2015 à 22:49
15 juil. 2015 à 22:49
ma variable $chemin est le chemin absolu pour aller chercher ma photo.
$dossier = $donnees['Prenom'].$donnees['Nom'];
$chemin = '/Photosmembres/'.$dossier.'/M.jpg';
Photomembres est à la racine du site : http://www.monsite/Photomembres
?>
<img src ="<?php echo $chemin;?>" alt ="image" width="60px" height="60px" >
$dossier = $donnees['Prenom'].$donnees['Nom'];
$chemin = '/Photosmembres/'.$dossier.'/M.jpg';
Photomembres est à la racine du site : http://www.monsite/Photomembres
?>
<img src ="<?php echo $chemin;?>" alt ="image" width="60px" height="60px" >
jordane45
Messages postés
38359
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 décembre 2024
4 720
15 juil. 2015 à 23:11
15 juil. 2015 à 23:11
Oui ok...
mais ça vient d'une requête ??
mais ça vient d'une requête ??
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
3
>
jordane45
Messages postés
38359
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 décembre 2024
15 juil. 2015 à 23:13
15 juil. 2015 à 23:13
oui, bien sûr
jordane45
Messages postés
38359
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 décembre 2024
4 720
Modifié par jordane45 le 15/07/2015 à 23:21
Modifié par jordane45 le 15/07/2015 à 23:21
Bon....
Va falloir que tu sois un peu plus volubile .....
C'est un peu fatiguant de devoir quémander les informations.. que tu ne distilles que petits bouts par petits bouts ...
Donc :
- Quelle requête ?
-->> A la limite... montres nous le code COMPLET de ta page !
- Quand tu supprimes l'image... tu la supprime où et comment ?
- La requête qui t'affiches tes images ... va chercher les infos où ?
(dans une BDD ?? )
- Comment la BDD est-elle mise à jour ? (c'est automatique ou bien un autre script tourne (toutes les 5 minutes....) pour mettre à jour les infos ????
Cordialement,
Jordane
Va falloir que tu sois un peu plus volubile .....
C'est un peu fatiguant de devoir quémander les informations.. que tu ne distilles que petits bouts par petits bouts ...
Donc :
- Quelle requête ?
-->> A la limite... montres nous le code COMPLET de ta page !
- Quand tu supprimes l'image... tu la supprime où et comment ?
- La requête qui t'affiches tes images ... va chercher les infos où ?
(dans une BDD ?? )
- Comment la BDD est-elle mise à jour ? (c'est automatique ou bien un autre script tourne (toutes les 5 minutes....) pour mettre à jour les infos ????
Cordialement,
Jordane
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
3
Modifié par jordane45 le 16/07/2015 à 00:37
Modifié par jordane45 le 16/07/2015 à 00:37
Excuse-moi, je vais essayer d'être plus clair dans mes explications.
J'ai un site composé de fichiers html ou php, plus une base de données.
Dans le problème que j'ai à résoudre, la base de données n'entre pas en ligne de compte pour ce problème de photos.
Je stocke mes photos comme de simples fichiers .jpg dans un répertoire dénommé Photosmembres et qui se trouve à la racine du site.
L'adresse d'une photo est donc : http://www.monsite/Photomembres/mondossier/maphoto.jpg
Lorsque je fais une requête, je vais chercher divers renseignements situés soit dans la bdd pour des renseignements divers, soit dans les fichiers photos situés dans le répertoire Photosmembres.
La requête est la suivante :
Je fais une liste des membres. Je poste un membre de cette liste. Dans la condition POST(liste) j'identifie le membre, puis je vais chercher dans la base de données le nom et le prénom du membre pour me permettre de trouver le dossier dans lequel se trouvent les photos de époux et épouse.
A partir de là, je demande simplement l'affichage des photos que je vais chercher dans le répertoire Photosmembres/mondossier/maphoto.jpg
Et c'est là que j'ai le problème.
A la première requête, tout se passe bien, les photos s'affichent.
Si je supprime la photo manuellement dans le répertoire, à la requête suivante, elle est encore là. Il faut attendre au moins 5 minutes avant qu'elle n'apparaisse plus avec la requête.
idem, si je change la photo manuellement, le changement ne se fait qu'au bout de 5 minutes, alors que le fichier est bien chargé.
On dirait que le serveur garde en mémoire tampon la photo.
Ce n'est pas mon navigateur, je m'applique à vider sa mémoire tampon à chaque requête.
J'espère avoir été plus clair dans mes explications, merci de ta compréhension.
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
J'ai un site composé de fichiers html ou php, plus une base de données.
Dans le problème que j'ai à résoudre, la base de données n'entre pas en ligne de compte pour ce problème de photos.
Je stocke mes photos comme de simples fichiers .jpg dans un répertoire dénommé Photosmembres et qui se trouve à la racine du site.
L'adresse d'une photo est donc : http://www.monsite/Photomembres/mondossier/maphoto.jpg
Lorsque je fais une requête, je vais chercher divers renseignements situés soit dans la bdd pour des renseignements divers, soit dans les fichiers photos situés dans le répertoire Photosmembres.
La requête est la suivante :
<?php session_start(); header( 'content-type: text/html; charset=utf-8' ); if (isset($_COOKIE['monerp']) AND isset($_COOKIE['mon'])) { $_SESSION['prenom'] = $_COOKIE['monerp']; $prenom = $_COOKIE['monerp']; $_SESSION['nom'] = $_COOKIE['mon']; $nom = $_COOKIE['mon']; ?><p style = "color : yellow;"><?php try { $bdd = new PDO('mysql:host=monsite.fr.mysql;dbname=monsite', 'YYYYY', 'XXXXXX', array (PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(Exception $e) { die('Error : ' . $e->getMessage()); } $reponse = $bdd->prepare("SELECT * FROM identite WHERE Nom = :nvnom AND Prenom = :nvprenom"); $reponse->execute(array( 'nvnom' => $_SESSION['nom'], 'nvprenom' => $_SESSION['prenom'] )); $donnees = $reponse->fetch(); if($donnees['membre'] == 0){ echo "Désolé : Vous n'avez pas accès à ces données"; }else{ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd]"> <html xmlns="[http://www.w3.org/1999/xhtml]" xml:lang="fr" lang="fr"> <head> <title>coordonnees membres</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" /> <meta http-equiv="Expires" content="0" /> <link rel="stylesheet" href= "position.css" /> </head> <body><?php } if(isset($_POST['liste'])){ $id = $_POST['liste']; $reponse = $bdd->prepare("SELECT * FROM identite WHERE id = :nvid"); $reponse->execute(array( 'nvid' => $id )); $donnees = $reponse->fetch(); $telephone = $donnees['Telephone']; if($donnees['deces']== 0){ echo $donnees['Prenom'].' '.$donnees['Nom']; if($donnees['PF'] == 1){ echo ' PRESIDENT FONDATEUR'; }?><br><?php echo $donnees['Adresse'].' '; echo $donnees['CP'].' '.$donnees['Ville'];?><br><?php } if(!empty($donnees['Tel'])){ $rest1 = substr($donnees['Tel'], 0, 2); $rest2 = substr($donnees['Tel'], 2, 2); $rest3 = substr($donnees['Tel'], 4, 2); $rest4 = substr($donnees['Tel'], 6, 2); $rest5 = substr($donnees['Tel'], 8, 2); echo 'Téléphone : ';?><span class="coordonnees"><?php echo $rest1.' '.$rest2.' '.$rest3.' '.$rest4.' '.$rest5;?></span><br><?php } if(!empty($donnees['Portable'])){ $port1 = substr($donnees['Portable'], 0, 2); $port2 = substr($donnees['Portable'], 2, 2); $port3 = substr($donnees['Portable'], 4, 2); $port4 = substr($donnees['Portable'], 6, 2); $port5 = substr($donnees['Portable'], 8, 2); echo 'Portable : ';?><span class="coordonnees"><?php echo $port1.' '.$port2.' '.$port3.' '.$port4.' '.$port5;?></span><br><?php } echo 'Mail : '.$donnees['Mail'];?><br> _____________________________________________<br> <?php $dossier = $donnees['Prenom'].$donnees['Nom']; $chemin1 = '/Photosmembres/'.$dossier.'/M.jpg'; $chemin2 = '/Photosmembres/'.$dossier.'/F.jpg'; //echo $chemin1;echo'<br>'; //echo $chemin2;echo'<br>'; ?> <img src ="<?php echo $chemin1;?>" alt ="époux" width="60px" height="60px" > <img src ="<?php echo $chemin2;?>" alt ="épouse" width="60px" height="60px" > _____________________________________________<br> }else{ echo 'Bonjour '.$prenom.' '.$nom.'.';?><br><br><?php echo 'Pour avoir les coordonnees des membres ';?><br><br><?php echo 'Liste des membres actifs.'?><br><?php echo 'Cliquez sur un membre';?><br><?php $reponse = $bdd->prepare("SELECT * FROM identite WHERE lion = 1 ORDER BY Nom"); $reponse->execute(array( 'nvnom' => $_SESSION['nom'], 'nvprenom' => $_SESSION['prenom'] )); $i = 1; ?> <FORM action="#" method="post" name="type" /> <SELECT name="liste" size="30" style="background-color:#00FFFF;" onchange="document.type.submit();"> <?php WHILE ($donnees = $reponse->fetch()) { if($donnees['deces'] == 0 AND $donnees['parti']== 0){ $id{$i} = $donnees['id'];?> <option value = "<?php echo $id{$i};?>" > <?php echo $donnees['Prenom'].' '; echo $donnees['Nom']; ?></option> <?php } $i = $i +1; } ?> </SELECT> </form> <?php } }else{ echo 'Désolé, les cookies ne sont pas activés sur votre ordinateur'; }
Je fais une liste des membres. Je poste un membre de cette liste. Dans la condition POST(liste) j'identifie le membre, puis je vais chercher dans la base de données le nom et le prénom du membre pour me permettre de trouver le dossier dans lequel se trouvent les photos de époux et épouse.
A partir de là, je demande simplement l'affichage des photos que je vais chercher dans le répertoire Photosmembres/mondossier/maphoto.jpg
Et c'est là que j'ai le problème.
A la première requête, tout se passe bien, les photos s'affichent.
Si je supprime la photo manuellement dans le répertoire, à la requête suivante, elle est encore là. Il faut attendre au moins 5 minutes avant qu'elle n'apparaisse plus avec la requête.
idem, si je change la photo manuellement, le changement ne se fait qu'au bout de 5 minutes, alors que le fichier est bien chargé.
On dirait que le serveur garde en mémoire tampon la photo.
Ce n'est pas mon navigateur, je m'applique à vider sa mémoire tampon à chaque requête.
J'espère avoir été plus clair dans mes explications, merci de ta compréhension.
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
jordane45
Messages postés
38359
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 décembre 2024
4 720
16 juil. 2015 à 00:50
16 juil. 2015 à 00:50
Donc pour résumer (ou reformuler...)
- Tu as des photos dans des dossiers (dont le nom est composé du prénom et du nom de personnes)
- Tu supprimes manuellement une image d'un de ces dossiers
- Il apparait toujours sur ta page même après refresh de ta page
... A la limite... je pense qu'un teste sur l'existence du fichier avant de l'afficher devrait résoudre ton souci.
Après... pour ce qui est d'un éventuel cache sur le serveur... aucune idée.
Et puis... il faudrait éventuellement indiquer sur quoi tu héberges ton site....
Éventuellement.... as tu testé en LOCAL (via un WAMP par exemple...) si le souci existe également ?
- Tu as des photos dans des dossiers (dont le nom est composé du prénom et du nom de personnes)
- Tu supprimes manuellement une image d'un de ces dossiers
- Il apparait toujours sur ta page même après refresh de ta page
... A la limite... je pense qu'un teste sur l'existence du fichier avant de l'afficher devrait résoudre ton souci.
$dossier = $donnees['Prenom'].$donnees['Nom']; $chemin1 = '/Photosmembres/'.$dossier.'/M.jpg'; $chemin2 = '/Photosmembres/'.$dossier.'/F.jpg'; if(file_exists($chemin1){ echo "<img src ='$chemin1' alt ='époux' width='60px' height='60px' >"; } if(file_exists($chemin2)){ echo "<img src ='$chemin2' alt ='épouse' width='60px' height='60px' >"; }
Après... pour ce qui est d'un éventuel cache sur le serveur... aucune idée.
Et puis... il faudrait éventuellement indiquer sur quoi tu héberges ton site....
Éventuellement.... as tu testé en LOCAL (via un WAMP par exemple...) si le souci existe également ?
jordane45
Messages postés
38359
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 décembre 2024
4 720
16 juil. 2015 à 01:20
16 juil. 2015 à 01:20
Tu peux aussi essayer d'ajouter ça dans les balises HEAD de ta page html
<meta http-equiv="Cache-Control" content="no-store" />
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
3
16 juil. 2015 à 09:19
16 juil. 2015 à 09:19
Tu as très bien compris la problématique. Excuse-moi pour les explications embrouillées.
Merci pour ces pistes de réflexion. J'espère trouver la faille.
Je m'absente aujourd'hui. Je te tiendrai au courant si je trouve le bug.
Merci pour ces pistes de réflexion. J'espère trouver la faille.
Je m'absente aujourd'hui. Je te tiendrai au courant si je trouve le bug.
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
3
16 juil. 2015 à 21:57
16 juil. 2015 à 21:57
Bon, je pense que je faisais fausse route dans l'idée de dire que la photo mettait "un certain temps" à apparaître ou à disparaître.
Ta suggestion de mettre une condition dans l'existence du fichier m'a finalement indiqué que celle-ci était systématiquement fausse, alors que le fichier existait bien.
La raison était tout simplement dans l'adresse du chemin qui était mal précisée.
J'avais indiqué : $chemin1 = '/Photosmembres/'.$dossier.'/M.jpg';
alors qu'il faut mettre : $chemin1 = 'Photosmembres/'.$dossier.'/M.jpg'; (sans slash au début)
Je n'ai pas bien approfondi le fonctionnement de ce slash qui pour moi représentait la racine du site...!.. En tous cas, le problème est bien résolu.
Merci pour ton aide qui a été efficace, malgré l'explication du phénomène que j'ai eu du mal à expliquer.
Bonsoir et à une autre fois peut-être.
Ta suggestion de mettre une condition dans l'existence du fichier m'a finalement indiqué que celle-ci était systématiquement fausse, alors que le fichier existait bien.
La raison était tout simplement dans l'adresse du chemin qui était mal précisée.
J'avais indiqué : $chemin1 = '/Photosmembres/'.$dossier.'/M.jpg';
alors qu'il faut mettre : $chemin1 = 'Photosmembres/'.$dossier.'/M.jpg'; (sans slash au début)
Je n'ai pas bien approfondi le fonctionnement de ce slash qui pour moi représentait la racine du site...!.. En tous cas, le problème est bien résolu.
Merci pour ton aide qui a été efficace, malgré l'explication du phénomène que j'ai eu du mal à expliquer.
Bonsoir et à une autre fois peut-être.
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
3
>
janmar
Messages postés
148
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
29 août 2015
20 juil. 2015 à 17:35
20 juil. 2015 à 17:35
Je reviens sur mon problème.
En fait, j'avais plusieurs erreurs en même temps dans mon script.
1°) la syntaxe du chemin de mon fichier n'était pas bonne (résolu avec la condition if(file_exists() ).
2°) aussi un problème de cache du navigateur lors des modifications d'images, que je suis en train de résoudre.
Comme quoi, la définition d'un comportement bizarre d'une requête n'est pas toujours facile à expliquer !.......
En fait, j'avais plusieurs erreurs en même temps dans mon script.
1°) la syntaxe du chemin de mon fichier n'était pas bonne (résolu avec la condition if(file_exists() ).
2°) aussi un problème de cache du navigateur lors des modifications d'images, que je suis en train de résoudre.
Comme quoi, la définition d'un comportement bizarre d'une requête n'est pas toujours facile à expliquer !.......