2010-02-19 14 views
5

In einem meiner PHP-Projekte beschwert sich imagecreatefrompng, dass das Bild "keine gültige PNG-Datei" ist.Problem mit imagecreatefrompng (PHP)

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

Ich bin mir ziemlich sicher, die Datei ist gültig, weil ich es in jedem Programm öffnen kann. Also habe ich mich gefragt, was sonst diese Warnung auslösen könnte.

Kennt jemand die Details hinter imagecreatefrompng oder hatte schon einmal ein ähnliches Problem?

Danke für Ihre Hilfe,

Timo

+0

Ist der Pfad richtig? –

+1

@Timo Willkommen bei SO. Anstatt SOLVED in den Titel Ihrer Frage zu stellen, klicken Sie auf das grüne Häkchen neben der Antwort unten. –

Antwort

10

Ist es ein Bild PNG? Führen Sie file dagegen aus, oder versuchen Sie fileinfo functions.

+0

Danke für den Link zu den Fileinfo-Funktionen. Ich ließ PHP den Mime-Typ überprüfen und überraschenderweise war das Bild eine JPG-Datei - die Umbenennung in .jpg löste das Problem. Ich denke, jedes Programm, das ich die Datei mit dem MIME-Typ automatisch erkannt erkannte ... – Timo

+1

Ich bekomme immer noch den gleichen Fehler nach der Überprüfung mit diesen Funktionen und die erwarteten Werte: "PNG Bild, 873 x 361, 8-Bit/Farbe RGBA, non-interlaced " – spuas

+3

@spuas: Dann hast du ein anderes Problem. –

0

prüft dieser MIME-Typ der Datei, die Sie, indem Sie unten Funktion zum Hochladen gehen:

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

Bild-Editoren können oft Dateityp durch seinen Inhalt erkennen, php könnte nur versuchen, die Datei zu verwenden, basierend auf seiner Pantomime -Art. Wenn es nicht übereinstimmt, liegt ein Fehler vor.