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 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
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. -
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
-
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 :
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!!!!
-