PHP : balise image jpg OU png

Résolu/Fermé
jpgoupng - 5 avril 2017 à 15:58
 jpgoupng - 5 avril 2017 à 16:49
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

Utilisateur anonyme
5 avril 2017 à 16:07
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.
-1
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
0
Utilisateur anonyme
5 avril 2017 à 16:43
Met un @ devant la fonction pour cacher les erreurs PHP
0
Tout simplement, comme quoi des fois on cherche bien compliqué...

Merci beaucoup :)
0