Modérateur PHPfrance |
10684 Messages
15 avr. 2007, 12:28
tout cela pourrait il venir du fait que je renomme l'image uploader en image1.gif quelque soit l'extension d'origine?
Pas vraiment au fait que tu la renommes, mais plus au fait que tu la considères toujours comme du gif quel que soit le type d'origine
L'extension d'un fichier n'a pour intérêt que de permettre au système de savoir avec quel logiciel il doit ouvrir le fichier (si tu renommes un .gif en .doc, cela reste une image, mais il va tenter de l'ouvrir avec word.. et générer une erreur).
Le véritable type du fichier, que l'on appelle type "MIME" (généralement de la forme "image/jpeg"), est décrit par les toutes premières lignes qui codent celui-ci. C'est ce type qui permet au logiciel qui a ouvert le fichier de savoir comment il doit interpréter son contenu : un gif n'est pas écrit ni compressé de la même manière qu'un jpeg ou qu'un png.
Si tu demandes à php de prendre une image jpeg et de la lire comme un gif, il appliquera ses algorithmes pour la décoder et ne comprendra pas pourquoi rien ne correspon aux résultats attendus. Du coup il manifeste son mécontentement en te disant que le fichier que tu lui demandes d'ouvrir comme un gif n'en est pas un :
is not a valid GIF file
Les image/jpeg s'ouvrent avec imageCreateFromJpeg(), les image/gif avec imageCreateGromGIF(), les bmp et les png avec d'autres fonctions encore. Il te faut donc connaitre le type de fichier, et en fonction l'ouvrir convenablement, afin de le redimensionner.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...