tengo este codigo para subir fotos y reescalarlas, y luego grabar datos en la base de datos.
si subo jpg o gif todo funciona bien, pero si lo intento con png siempre me da SERVER INTERNAL ERROR, la foto me la sube correctamente, pero no me graba nada en la base de datos
Código PHP:
por mas vueltas que le doy no consigo encontrar el problemas asi que recurro a vosotros a ver si alguien ve algo raro que podria ser el causante del fallo.Ver original
[CODE]<?php $output_dir = "fotos/"; { $error =$_FILES["myfile"]["error"]; //You need to handle both cases //If Any browser does not support serializing of multiple files using FormData() { $fileName = $_FILES["myfile"]["name"]; $ruta_imagen = $output_dir.$fileName; $miniatura_ancho_maximo = 1200; $miniatura_alto_maximo = 1200; $imagen_ancho = $info_imagen[0]; $imagen_alto = $info_imagen[1]; $imagen_tipo = $info_imagen['mime']; $proporcion_imagen = $imagen_ancho / $imagen_alto; $proporcion_miniatura = $miniatura_ancho_maximo / $miniatura_alto_maximo; if ( $proporcion_imagen > $proporcion_miniatura ){ $miniatura_ancho = $miniatura_ancho_maximo; $miniatura_alto = $miniatura_ancho_maximo / $proporcion_imagen; } else if ( $proporcion_imagen < $proporcion_miniatura ){ $miniatura_ancho = $miniatura_ancho_maximo * $proporcion_imagen; $miniatura_alto = $miniatura_alto_maximo; } else { $miniatura_ancho = $miniatura_ancho_maximo; $miniatura_alto = $miniatura_alto_maximo; } switch ( $imagen_tipo ){ case "image/jpg": case "image/jpeg": break; case "image/png": break; case "image/gif": break; } imagecopyresampled($lienzo, $imagen, 0, 0, 0, 0, $miniatura_ancho, $miniatura_alto, $imagen_ancho, $imagen_alto); $ret[]= $fileName; $nombre = "pepe"; // Insertar la noticia en la Base de Datos $instruccion = "insert into TABLA (usuario, imagen, fh_registro) values ('" .$nombre. "' , '" .$fileName. "' , DATE_ADD(CURDATE(), INTERVAL 0 DAY))"; //strtotime("+1 week") DATE_ADD(CURDATE(), INTERVAL $can_dias DAY) } } ?>[/CODE]
gracias de antemano