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 :

Affichage des image en temps réel


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Points : 37
    Points
    37
    Par défaut Affichage des image en temps réel
    Bonjour à tous et merci pour votre travail et votre temps.
    Je viens de mettre mon premier site en ligne et j'observe un nouveau problème

    Mes membres ont la possibilité de modifier leur avatar, grâce à un input files.
    Le fichier choisi est renommer en ID_MEMBRE.EXTENSION donc par exemple "1.jpg" et envoyer vers le dossier "avatars".
    Quand je charge "maphoto_2.png" ( qui sera renommer en 1.png ) à la place de 1.jpg (nommée initialement "maphoto_1.jpg" ) tout va bien.
    Mais quand je charge "maphoto_3.jpg" il le renomme en "1.jpg" et là il affiche maphoto_1.jpg.
    En local le problème existé mais disparaissait après deux ou trois rafraîchissement mais en ligne avec OVH même après une fermeture du navigateur le problème persiste. Pourtant le fichier dans le dossier avatars est bien ma_photo_3.jpg et l'info dans le bdd est bien modifiée.

    Vue que le problème n'intervient que lorsque l'extension, (donc le nom complet car toujours le même ID pour chaque membre) est identique à l'ancien nom et comme le nouveau fichier est bien transférer à la place de l'autre alors c'est uniquement un problème d'affichage de PHP, non ?

    Si oui, comment arrangé ça ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu penses que c'est un problème d'affichage alors tu es au mauvais endroit car PHP n'affiche rien.
    Si tu penses que c'est un problème de PHP alors il faut nous montrer ton code
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Points : 37
    Points
    37
    Par défaut
    Merci sabotage voilà les lignes en question :

    FICHIER MODIFIERPROFIL.PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    if (isset($_POST['valider']) AND !empty($_FILES['avatar']['name'])){
    $erreur = GLOBAL_verif_fichier_photo ($array_de_la_photo_a_verifier = $_FILES['avatar'],$G_taille_maximum_des_fichier_photo,$T_message_erreur);
    if ( !empty ($erreur) ){ 
    $MESSAGE_erreur = $erreur;
    GLOBAL_affiche_message_erreur ($MESSAGE_erreur);	
    } else {
    $erreur = GLOBAL_enregistre_avatar_membre ($id = $_SESSION[$G_SESSION_id],$nom = $_SESSION[$G_SESSION_id],$table = "tab_membres",$col ="col_avatar",$name = $_FILES['avatar']['name'],$tmp_name = $_FILES['avatar']['tmp_name'],$G_bdd,$G_chemin_du_server,$T_message_erreur);
    if ( !empty ($erreur) ){ 
    $MESSAGE_erreur = $erreur; 
    GLOBAL_affiche_message_erreur ($MESSAGE_erreur);
    GLOBAL_efface_avatar_membre ($id = $_SESSION[$G_SESSION_id],$G_chemin_du_server);
    } else {
    GLOBAL_actualise_une_session_membre ($id = $_SESSION[$G_SESSION_id],$G_SESSION_id,$G_SESSION_pseudo,$G_SESSION_email,$G_SESSION_avatar,$G_SESSION_numaleatoire,$G_bdd);
    GLOBAL_affiche_message_succes ($MESSAGE_succes = $T_message_succes['modification_profil']);	
    }	
    }
    }
     
    FICHIER FONCTION.PHP
    function GLOBAL_enregistre_avatar_membre ($id,$nom,$table,$col,$name,$tmp_name,$G_bdd,$G_chemin_du_server,$T_message_erreur){	
    $extansion = GLOBAL_recupere_extansion_fichier ($nom_du_fichier = $name);
    @move_uploaded_file($tmp_name,$G_chemin_du_server.'/avatars/'.$nom.'.'.$extansion) OR ($MESSAGE_erreur = $T_message_erreur['upload'].' ( '.$name.' )');
    $nom_avec_extansion = $nom.'.'.$extansion;
    $nom_complet = "'avatars/$nom_avec_extansion'";
    $G_bdd->query(' UPDATE '.$table.' SET '.$col.' = "'.$nom_complet.'" WHERE col_id = "'.$id.'" ') OR ($MESSAGE_erreur = $T_message_erreur['basededonneeconnexion'] );
    if ( isset ($MESSAGE_erreur) ){	
    return $MESSAGE_erreur;
    }
    }

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Points : 208
    Points
    208
    Par défaut
    Salut eljeronimooo,

    C'est bien un problème d'affichage mais c'est bien en php qu'il va se régler ^^.

    Ton navigateur a déjà en cache une image qui se nomme ainsi, plutôt que de la recharger il se dit qu'il l'a et l'affichage donc.
    Au bout d'un moment ou en rafraichissent la page avec la touche F5 (sauf sous chrome, qui aime bien garder le cache à tout prix) il va aller chercher de nouveau l'image en ligne.

    Un moyen simple de pallier à celà est de donner un nom unique en ton image en utilisant par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nomImage = uniqid() . ".jpg"
    ce qui donnera quelque chose dans ce goût là :

    5638942186953.jpg

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

Discussions similaires

  1. [2008R2] Affichage des performances en temps réel
    Par Hiken dans le forum Développement
    Réponses: 4
    Dernier message: 01/07/2013, 17h50
  2. [XML/CSS/XSL] Problème d'affichage des images "dynamiqu
    Par popol55 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/04/2006, 16h24
  3. Mauvais affichage des images et message d'erreur
    Par SLAM JACK dans le forum Langage
    Réponses: 3
    Dernier message: 29/03/2006, 18h11
  4. Réponses: 7
    Dernier message: 27/01/2006, 01h44
  5. Priorité d'affichage des image de fond.
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/09/2005, 18h02

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