PHP: données d'image binaire, vérifiant le type d'image
J'ai des images dans la corbeille, je veux vérifier l'en-tête pour vérifier le format (jpg, png, etc)
Je ne veux pas utiliser les fichiers temporaires! J'ai une solution à l'aide de FICHIERS temporaires.
source d'informationauteur llazzaro
Vous devez vous connecter pour publier un commentaire.
Les bits de démarrage:
Les autres je ne sais pas pour l'instant, mais le big 3 (jpeg,gif,png) ont l'habitude de couvrir 99%. Donc, comparez les premiers octets à ceux de la chaîne, et vous avez votre réponse.
Je peux se que la plupart d'entre vous ne comprennent pas la question 🙂 ( question était de savoir comment valider les données binaires dans un tampon, pas un fichier sur le disque).
J'ai eu le même problème, et résolu:
Voici une implémentation de la fonction comme décrit par Wrikken
Sont les fichiers en cours de téléchargement ou sont-ils déjà sur le système de fichiers?
Essayez d'utiliser
mime_content_type()
pour obtenir le fichier est au format MIME.http://php.net/manual/en/function.getimagesize.php
"Indice 2 est l'un de la IMAGETYPE_XXX constantes indiquant le type de l'image."
Pourquoi ne pas simplement de vérifier que le fichier entension? 🙂
Une Alternative
Utiliser le fileinfo extension PHP:
http://de.php.net/manual/en/function.finfo-file.php
Son en utilisant le menu "fichier" *nix commande pour déterminer de manière fiable le type mime d'un fichier donné:
Cette extension est livré avec PHP 5.3 ou peut être installé à partir de pecl (pecl install fileinfo) pour les versions antérieures.