J'essaie de déterminer si certains fichiers sont en réalité des images (en utilisant PHP). On m'a conseillé d'utiliser Finfo et j'essaie de comprendre comment ça fonctionne.
Ce que je ne reçois pas est - Qu'est-ce qu'une base de données de numéros magiques et comment ça marche? Je suis un peu perplexe - chaque fichier a-t-il certain que "numéro magique" que vous comparez contre cette base de données? P>
Aussi - je l'ai sur ma Squeeze Debian - mais sera-t-il également disponible sur la plate-forme Win? ou il faut-il devoir attacher cette base de données avec l'application? p>
3 Réponses :
La plupart des formats de fichiers ont une en-tête qui aide à identifier quel type de fichier c'est. Par exemple, les fichiers GIF commencent toujours par La base de données de numéro de magie est une liste de tous les en-têtes et permet Windows n'a pas installé cette base de données par défaut. Vous auriez besoin de l'apporter pour Windows. En fait, vous devez utiliser la même base de données, peu importe où vous déployez pour améliorer la compatibilité croisée. Imaginez si vous avez déployé dans un ancien système qui ne sait pas sur les fichiers de fichiers de votre développement. P> gif87 code> p>
Finfo () code> à ID des fichiers. P>
Une solution alternative doit-elle savoir si exif_imagetype code> retourne
false code>? p>
J'ai pensé à ça. Mais il ne semble pas fonctionner sur tous les types d'image. 17?
sur mon ubuntu, c'est dans /usr/share/file/magic.mime code>. Je ne sais pas sur Windows. Et oui, typiquement divers formats de fichiers ont un préfixe spécifique uniquement à cet effet (même s'il n'y a pas d'extension, vous pouvez reconnaître un gif, par exemple, par le fait qu'il commence toujours par la chaîne "gif"). P >
Connexes: