Muy buenas amig@s
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:
Ver original[CODE]<?php
$output_dir = "fotos/";
if(isset($_FILES["myfile"])) {
$error =$_FILES["myfile"]["error"];
//You need to handle both cases
//If Any browser does not support serializing of multiple files using FormData()
if(!is_array($_FILES["myfile"]["name"])) //single file {
$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
or
die ("No se puede conectar con el servidor"); or
die ("No se puede seleccionar 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)
$consulta = mysql_query ($instruccion, $conexion) or
die ("Fallo en la consulta");
}
}
?>[/CODE]
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.
gracias de antemano