2010-02-19 9 views
5

dans l'un de mes projets PHP, imagecreatefrompng se plaint, que l'image "n'est pas un fichier PNG valide".Problème avec imagecreatefrompng (PHP)

Warning: imagecreatefrompng() [function.imagecreatefrompng]: 
'/.../...png' is not a valid PNG file in /.../...php on line ... 

Je suis assez sûr, le fichier est valide, car je peux l'ouvrir dans n'importe quel programme. Alors je me demandais quoi d'autre pourrait provoquer cet avertissement.

Est-ce que quelqu'un connaît les détails derrière imagecreatefrompng ou a déjà eu un problème similaire?

Merci pour votre aide,

Timo

+0

Le chemin est-il correct? –

+1

@Timo Bienvenue à SO. Au lieu de mettre RESOLU dans le titre de votre question, cliquez sur la coche verte à côté de la réponse ci-dessous. –

Répondre

10

est une image PNG? Exécutez file contre elle ou essayez le fileinfo functions.

+0

Merci pour le lien vers les fonctions fileinfo. J'ai laissé PHP vérifier le type mime et, étonnamment, l'image était un fichier jpg - le renommer en .jpg a résolu le problème. Je suppose que chaque programme j'ai ouvert le fichier avec automatiquement détecté le type mime correctement ... – Timo

+1

Je reçois toujours la même erreur après avoir vérifié avec ces fonctions et obtenir les valeurs attendues: "image PNG, 873 x 361, 8 bits/couleur RGBA, non entrelacé " – spuas

+3

@spuas: Alors vous avez un problème différent. –

0

Vérifiez ce type MIME du fichier que vous allez télécharger en utilisant ci-dessous fonction:

mime_content_type($_FILES['product_img']['tmp_name']) 

éditeurs d'images peuvent souvent reconnaître le type de fichier par son contenu, php peut simplement essayer d'utiliser le fichier basé sur le mime -type. Si cela ne correspond pas, il y a une erreur.