imagecreatefromjpeg not a valid JPEG file

romeo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 34
Inscription: 19 Aoû 2003

imagecreatefromjpeg not a valid JPEG file

Message le Lun Déc 05, 2005 11:05

Depuis quelques temps, j'obtiens de + en + d'erreurs généré par la fonction imagecreatefromjpeg.

Cette instruction est appelée suite à l'upload d'un fichier JPG.

L'erreur se produit seulement sur certaine image, qui sont pourtant bien des JPG.

ex :
Warning: imagecreatefromjpeg(../photo/img1.jpg): is not a valid JPEG file

Il m'est donc impossible de poursuivre la procédure pour pouvoir creer une miniature par la suite à la volée.

Est ce que qqun à une solution ??

Merci

Wikizic
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 5 Déc 2005

Message le Lun Déc 05, 2005 13:57

Bonjour,

Tu devrais vérifier que le fichier jpg est réellement une image jpeg, par exemple en vérifiant le type avec getimagesize()

list($width, $height, $type, $attr) = getimagesize("toto.jpg");
echo $type;

Et si le type n'est pas 2 alors c'est certainement un bmp, png, gif ou tiff mal converti ou avec une mauvaise extension.

J'ai moi aussi ce souci avec des fichiers jpg que la GD considère comme des bmp (type=6), et comme c'est pas géré par la GD ... ca plante :?

romeo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 34
Inscription: 19 Aoû 2003

Message le Lun Déc 05, 2005 16:51

Merci pour ta réponse Wikizic.

Je viens de faire le test une fois de plus avec ta méthode et le type vaut bien 2.
Cela confirme que c'est bien du jpg mais lorsque j'utilise imagecreatefromjpeg ca plante.

Si qqun veut bien m'aider, j'envoie une jpeg qui me pose ce probleme.

Merci

sgaze
WRInaute impliqué
WRInaute impliqué
 
Messages: 538
Inscription: 2 Fév 2004

Message le Lun Déc 05, 2005 17:17

Je crois que la méthode la plus fiable pour tester l'image est celle là :

Code: Tout sélectionner
if(@exif_imagetype($_FILES['userfile']['tmp_name']) == IMAGETYPE_JPEG)

Wikizic
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 5 Déc 2005

Message le Lun Déc 05, 2005 17:29

C'est peut-être aussi un problème de version de GD ?

Sinon tu peux essayer d'installer et tester ImageMagick à la place de la GD. :wink:

romeo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 34
Inscription: 19 Aoû 2003

Message le Lun Déc 05, 2005 17:30

Ok, sgaze je prends note de tes conseils.

Ton test confirme que mon image est bien du jpg.

Mais cela ne m'explique toujours pas pourquoi imaceatefromjpeg me dit que l'image en question n'est pas un JPG valide (voir message d'erreur + haut).

romeo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 34
Inscription: 19 Aoû 2003

Message le Jeu Déc 08, 2005 13:43

UP :?


Digit
WRInaute impliqué
WRInaute impliqué
 
Messages: 613
Inscription: 18 Avr 2003

Message le Jeu Déc 08, 2005 23:19

Parfois cela survient quand le fichier est altéré. J'ai déjà eu ça sur un fichier jpeg qui s'affichait pourtant bien dans Internet Explorer, mais dans FireFox quand on regardait les propriétés on voyait qu'il était altéré. php ne peut alors pas le lire (il est très sensible)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités