Michaël Gallego

This is my blog. What can you expect here? Well... Zend Framework 2, Amazon AWS...

Twitter

Google+

LinkedIn

Github

Last.fm

Problème avec MimeType et OVH

Les validateurs de Zend ont beau être extrêmement pratiques, on rencontre parfois quelques soucis. Par exemple, afin de vérifier que les fichiers envoyés soient bien des images, j’utilise le validateur Zend_Validate_File_IsImage, qui repose lui lui-même sur Zend_Validate_File_MimeType. Ce validateur utilise l’extension FileInfo pour détecter le type des fichiers envoyés.

Seul soucis, sur un hébergement mutualisé sur OVH, rien à faire, chaque fichier que je tente d’uploader, image ou pas image, me retourne le type “application/octet-stream”. Après pas mal de recherches, je suis tombé sur ce lien.

Le soucis vient donc de ces lignes-ci :

protected $_magicFiles = array(
    '/usr/share/misc/magic',
    '/usr/share/misc/magic.mime',
    '/usr/share/misc/magic.mgc',
    '/usr/share/mime/magic',
    '/usr/share/mime/magic.mime',
    '/usr/share/mime/magic.mgc',
    '/usr/share/file/magic',
    '/usr/share/file/magic.mime',
    '/usr/share/file/magic.mgc',
);

Apparemment, le fichier en question ne se trouve pas, sur OVH, à l’un de ces emplacements, du coup ça fonctionne pas ! La solution consiste tout simplement à supprimer le contenu du tableau :

protected $_magicFiles = array();

C’est sûr, cette solution n’est pas vraiment très propre, puisqu’il faut veiller, à chaque mise à jour du framework, à ne pas oublier de la refaire…