2010-02-19 12 views
5

in uno dei miei progetti PHP, imagecreatefrompng lamenta, che l'immagine "non è un file PNG valido".Problema con imagecreatefrompng (PHP)

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

Sono abbastanza sicuro, il file è valido, perché posso aprirlo in qualsiasi programma. Quindi mi stavo chiedendo cos'altro poteva causare questo avvertimento.

Qualcuno conosce i dettagli dietro imagecreatefrompng o ha avuto un problema simile prima?

Grazie per il vostro aiuto,

Timo

+0

Il percorso è corretto? –

+1

@Timo Benvenuti in SO. Invece di inserire SOLVED nel titolo della tua domanda, fai clic sul segno di spunta verde accanto alla risposta sotto. –

risposta

10

è è un'immagine PNG? Esegui file contro di esso, o prova il fileinfo functions.

+0

Grazie per il collegamento alle funzioni fileinfo. Ho lasciato che PHP controllasse il tipo di mime e sorprendentemente l'immagine fosse un file jpg - rinominandolo in .jpg ha risolto il problema. Immagino che ogni programma con il quale ho aperto il file abbia rilevato automaticamente il tipo MIME ... – Timo

+1

Ho ancora lo stesso errore dopo aver controllato con quelle funzioni e ottenuto i valori attesi: "Immagine PNG, 873 x 361, 8 bit/colore RGBA, non interlacciato " – spuas

+3

@spuas: Quindi hai un problema diverso. –

0

controllare questo tipo MIME di file che si sta andando a caricare usando sotto la funzione:

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

Editor di immagini spesso può riconoscere il tipo di file dal suo contenuto, php potrebbe anche provare a utilizzare il file basandosi sul suo mimo -genere. Se non corrisponde, c'è un errore.