Foros del Web » Programando para Internet » PHP »

Problema al grbar imagenes en mysql y php

Estas en el tema de Problema al grbar imagenes en mysql y php en el foro de PHP en Foros del Web. EL tamano iriginal de la imagen es de 1400 x 1050 si la imagen es mayor a 600 de ancho entonces quiero reducir la imagen ...
  #1 (permalink)  
Antiguo 31/08/2010, 19:33
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 7 meses
Puntos: 0
Problema al grbar imagenes en mysql y php

EL tamano iriginal de la imagen es de 1400 x 1050
si la imagen es mayor a 600 de ancho entonces quiero reducir la imagen a 600 x 450 y ademas hacer una imagen pequena de 97 x 97 maximo

* el problema que tengo es que la imagen no se graba correctamente en la base de datos, unicamente graba 14 kb, no tengo idea de cual sea el problema
la base de datos tiene la siguiente estructura:

id = int(11)
imagennormal = blob
imagenmini = minimunblob


<?php
$mimetypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");
$name = $_FILES["imagen"]["name"];
$type = $_FILES["imagen"]["type"];
$tmp_name = $_FILES["imagen"]["tmp_name"];
$tmp_mini = $_FILES["imagen"]["tmp_name"];
$tamano = $_FILES["imagen"]["size"];

$size = GetImageSize("$tmp_name");
$anchura=$size[0];
$altura=$size[1];

$maximo = 453600; //150Kb
$conti = 1;
if ( $tamano > $maximo ){
$error = "El tamano de la imagen no debe exceder los 150kb";
$conti = 0;
}

if(!in_array($type, $mimetypes)) {
$error = "El archivo que este intentando subir no es una imagen valida";
$conti = 0;
}

if ( $conti == 0 ){
echo $error;
} else {
$ancho_antiguo = $anchura;
$alto_antiguo = $altura;

#Sacar imagen tamano grande
if ( $anchura > 600 ){
$porcentaje = 600 / $anchura;
$porcentaje = substr($porcentaje,2,20);
$porcentaje = substr($porcentaje,0,2).".".substr($porcentaje,2,1 8);
$anchura = 600;
$altura = ( $altura * $porcentaje ) / 100;
}
if ( $altura > 480 ){
$porcentaje = 480 / $altura;
$porcentaje = substr($porcentaje,2,20);
$porcentaje = substr($porcentaje,0,2).".".substr($porcentaje,2,1 8);
$altura = 480;
$anchura = ( $anchura * $porcentaje ) / 100;
}
#Sacar miniatura
$mini_anchura = $anchura;
$mini_altura = $altura;
if ( $mini_anchura > 97 ){
$porcentaje = 97 / $mini_anchura;
$porcentaje = substr($porcentaje,2,20);
$porcentaje = substr($porcentaje,0,2).".".substr($porcentaje,2,1 8);
$mini_anchura = 97;
$mini_altura = ( $mini_altura * $porcentaje ) / 100;
}
if ( $mini_altura > 97 ){
$porcentaje = 97 / $mini_altura;
$porcentaje = substr($porcentaje,2,20);
$porcentaje = substr($porcentaje,0,2).".".substr($porcentaje,2,1 8);
$mini_altura = 97;
$mini_anchura = ( $mini_anchura * $porcentaje ) / 100;
}
header("Content-Type: image/jpeg");

$zisenormal = imagecreatetruecolor($anchura, $altura);
$origen = imagecreatefromjpeg($tmp_name);
imagecopyresized($zisenormal, $origen, 0, 0, 0, 0, $anchura, $altura, $ancho_antiguo, $alto_antiguo);

$zisemini = imagecreatetruecolor($mini_anchura, $mini_altura);
$origen = imagecreatefromjpeg($tmp_mini);
imagecopyresized($zisemini, $origen, 0, 0, 0, 0, $mini_anchura, $mini_altura, $ancho_antiguo, $alto_antiguo);

$agregar = "INSERT INTO `booking`.`galeria_de_imagenes` (`id`, `imagennormal`, `imagenmini`) VALUES (NULL, '".$zisenormal."', '".$zisenormal."');";

$conexio = mysql_connect("localhost","root","");
mysql_select_db ("imagenes", $conexio) OR die ("No se puede conectar");
$result=mysql_query($agregar,$conexio);
}
?>

Etiquetas: imagenes, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:38.