File_exists() Ne fonctionne pas
Résolu
abisko
-
abisko -
abisko -
Bonjour,
J'essais de texter l'existence de la photo de profil des membres de mon site avant de les afficher; cependant malgré un code qui me semble propre, file_exists() ne fonctionne pas correctement et retourne toujours false, et default.jpg est toujours affiché! Pourtant les images existent belle et bien sur le chemin indiqué.
voici mon code :
Les images sont sous la forme pm3.jpg avec "pm" = $memberType et "3" = $id_member.
Merci beaucoup
J'essais de texter l'existence de la photo de profil des membres de mon site avant de les afficher; cependant malgré un code qui me semble propre, file_exists() ne fonctionne pas correctement et retourne toujours false, et default.jpg est toujours affiché! Pourtant les images existent belle et bien sur le chemin indiqué.
voici mon code :
function DisplayAvatarImage( $memberType, $id_member ){ $filename ='images/avatars/'.$memberType.$id_member.'.jpg'; if ( !file_exists($filename) ) { $filename ='images/avatars/default.jpg'; } echo '<img class="col rounded p-0" src="'.$filename.'">'; } while ( $resultat = $reponse->fetch() ) { //some codes..... DisplayAvatarImage( $resultat['memberType'], $resultat['id_member'] ); //some codes..... }
Les images sont sous la forme pm3.jpg avec "pm" = $memberType et "3" = $id_member.
Merci beaucoup
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
tu n'utilises pas correctement file_exists().
le chemin que tu donnes n'est pas l'endroit précis où se trouve le fichier sur le disque de l'ordinateur.
tu n'utilises pas correctement file_exists().
le chemin que tu donnes n'est pas l'endroit précis où se trouve le fichier sur le disque de l'ordinateur.
Bonjour,
Essaye de mettre un realpath sur le chemin vers ton image
https://www.php.net/manual/fr/function.realpath.php
Et regarde si ça retourne bien le vrai chemin
Essaye de mettre un realpath sur le chemin vers ton image
https://www.php.net/manual/fr/function.realpath.php
Et regarde si ça retourne bien le vrai chemin
Oup.... Merci à tous!!! j'ai vu où se trouvais le problème grâce à vos suggestions.
En effet, j'effectuais mon test avec file_exists() depuis un autre fichier php via Ajax et non sur mon fichier index. Il me fallait donc ajouter "../" au début du chemin pour que le test fonctionne avec file_exists() depuis ajax.
Voici le code final qui fonctionne bien :
Encore Merci!!!!
En effet, j'effectuais mon test avec file_exists() depuis un autre fichier php via Ajax et non sur mon fichier index. Il me fallait donc ajouter "../" au début du chemin pour que le test fonctionne avec file_exists() depuis ajax.
Voici le code final qui fonctionne bien :
function DisplayAvatarImage($memberType, $id_member ){ $filename ='../images/avatars/'.$memberType.$id_member.'.jpg'; if ( !file_exists($filename) ) { $filename ='images/avatars/default.jpg'; }else{ $filename ='images/avatars/'.$memberType.$id_member.'.jpg'; } echo '<img class="col rounded p-0" src="'.$filename.'">'; } while ( $resultat = $reponse->fetch() ) { //some codes..... DisplayAvatarImage( $resultat['memberType'], $resultat['id_member'] ); //some codes..... }
Encore Merci!!!!
Pourtant lorsque je n'effectue pas de teste et affiche directement les image avec le chemin "$filename"; celles qui existent s'affiche bien correctement!!!
Et plus encore, j'ai déjà utilisé ce même chemin pour d'autre image en testant avec file_exists() et tout c'est bien passé!!
où se trouvent les images?