2010-02-19 24 views
5

en uno de mis proyectos PHP, imagecreatefrompng se queja de que la imagen "no es un archivo PNG válido".Problema con imagecreatefrompng (PHP)

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

Estoy bastante seguro, el archivo es válido, porque puedo abrirlo en cualquier programa. Entonces me preguntaba qué más podría causar esta advertencia.

¿Alguien sabe los detalles detrás de imagecreatefrompng o ha tenido un problema similar antes?

Gracias por su ayuda,

Timo

+0

¿La ruta es correcta? –

+1

@Timo Bienvenido a SO. En lugar de poner SOLVED en el título de su pregunta, haga clic en la marca de verificación verde al lado de la respuesta a continuación. –

Respuesta

10

Es que una imagen PNG? Ejecute file en su contra o pruebe fileinfo functions.

+0

Gracias por el enlace a las funciones de fileinfo. Dejé que PHP verificara el tipo de mimo y, sorprendentemente, la imagen era un archivo jpg; el cambio de nombre a .jpg resolvió el problema. Supongo que cada programa que abrí el archivo detectó automáticamente el tipo de mime correctamente ... – Timo

+1

Todavía obtengo el mismo error después de consultar con esas funciones y obtener los valores esperados: "Imagen PNG, 873 x 361, 8 bits/color RGBA, no entrelazado " – spuas

+3

@spuas: Entonces tiene un problema diferente. –

0

Comprobar este tipo mime del archivo que va a cargar mediante el uso de abajo función:

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

Editores de imagen a menudo puede reconocer el tipo de archivo por su contenido, php sólo podría tratar de usar el archivo en función de su mimo -tipo. Si no coincide, entonces hay un error.

Cuestiones relacionadas