PHP : balise image jpg OU png [Résolu/Fermé]

Signaler
-
 jpgoupng -
Bonjour,
Dans un fichier PHP, je dois ouvrir une image, le nom ne bouge pas mais l'extension peut être différent : soit c'est du JPG, soit c'est du PNG.
Voici le code actuel :

echo '<img src="'.BASE_URL . '/imgs/' . $dom . '/preview'.$preview .'.jpg'.'" />';

Une solution ? :)

1 réponse

Messages postés
1709
Date d'inscription
vendredi 6 mars 2009
Statut
Membre
Dernière intervention
24 septembre 2018
686
Pourquoi dans la variable preview tu n'as pas mis l'extension? Ça serait plus simple. Sinon si tu as vraiment aucun moyen de savoir si l'image est en .jpg ou .png le mieux est de tester l'url d'abord avec un file_exists si les images sont sur ton serveur, sinon si c'est distant un get_headers et voir si ça ne te retourne pas un code 404/ ou une erreur du genre.
J'ai essayé la méthode de la condition avec exif_imagetype (si l'image est un JPG, alors..., si l'image est un PNG, alors... sinon affiche message d'erreur), ça marche très bien puisque toute les images s'affichent, mais j'ai un message d'erreur généré dans la page :

Warning : exif_imagetype(http://localhost:8888/imgs/preview/previewBig.jpg): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in...

Idéalement il faudrait juste que je puisse effacer ce message puisque tout fonctionne bien :)

Bizarrement il n'y a que sur une seule image où j'ai ce message d'erreur, toute les autres (qu'elles soient JPG ou PNG) fonctionnent bien
Messages postés
1709
Date d'inscription
vendredi 6 mars 2009
Statut
Membre
Dernière intervention
24 septembre 2018
686
Met un @ devant la fonction pour cacher les erreurs PHP
Tout simplement, comme quoi des fois on cherche bien compliqué...

Merci beaucoup :)