Comment vérifier qu'un fichier est une image en PHP ?
Réponses rédigées par Antoine
Dernière mise à jour : 2018-08-27 16:16:25
Question
Comment puis-je vérifier qu'un fichier est une image en PHP ?
Réponse
Lorsque votre navigateur interroge une serveur Web pour charger les différents éléments d'un site, le serveur web transmet d'abord le type MIME du fichier à envoyer au navigateur, de manière qu'il puisse savoir de quelle manière afficher le document en fonction de sa nature.
Un type MIME est constitué de la manière suivante:
Content-type: type_mime_principal/sous_type_mime
Une image PNG a par exemple le type MIME suivant:
Content-type: image/png
Ceci étant, voici comment vérifier qu'un fichier est une image en PHP :
function check_image_mime($tmpname){
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mtype = finfo_file($finfo, $tmpname);
if(strpos($mtype, 'image/') === 0){
echo "C'est une image";
} else {
echo "Ce n'est pas une image";
}
finfo_close($finfo);
}
check_image_mime("exemple.jpg");