Tema: thumbjpeg
Ver Mensaje Individual
  #12 (permalink)  
Antiguo 26/03/2005, 00:13
Avatar de Stickmaster2004
Stickmaster2004
 
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 568
Antigüedad: 19 años, 7 meses
Puntos: 0
lo que yo hago es que tomo la foto original desde cualquier parte de mi computador ya sea c: o d:\pollos\gallinas y las cargo con un input "file", luego en la otra pagina .php cargo la imagen hago un thumbnails y la convierto a un tamaño deseado por ejemplo de 50x50 y la introduzco en una carpeta que cree llamada imagenes que esta dentro de mi proyecto, una vez la imagen es insertada en la base de datos de mysql, ya no necesito que quede alojada alli seria algo redundante asi pues se llenaria el disco duro con muchas imagenes, pues para eso utilizo la funcion unlink para eliminar un archivo de un directorio en especifico en mi caso el directorio imagenes, una vez se sube el archivo a la base de datos inmediatamente lo elimino de dicha carpeta, en fin esa carpeta imagenes es como si fuera una carpeta temporal y siempre va a estar vacia pues siempre voy eliminado, te muestro el codigo a ver si te sirve:

<?php
if (empty($_FILES['foto']['name'])){
header("location: insertarpro.html?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>

<body>
<div id="Layer1" style="position:absolute; width:591px; height:804px; z-index:1; left: 0px; top: -4px;"><img src="barra.gif" width="623" height="800">
<div id="Layer2" style="position:absolute; width:620px; height:84px; z-index:1; left: 1px; top: -2px;">
<div id="Layer3" style="position:absolute; width:613px; height:115px; z-index:1; left: 5px; top: 113px;">
<div align="justify">




<?php


$nom=$_POST['nom'];
$pre=$_POST['pre'];
$des=$_POST['des'];



//establece una conexión con la base de datos.
$conexion = mysql_connect("localhost","","") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("portafolio",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.

// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['foto']['tmp_name'] ;

// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...
$binario_contenido = addslashes(fread(fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal)));

$binario_nombre=$_FILES['foto']['name'];
$archie='imagenes/'.$binario_nombre;


$original = imagecreatefromjpeg($binario_nombre_temporal);
$thumb = imagecreatetruecolor(50,50); // Lo haremos de un tamaño 50x50

$ancho = imagesx($original);
$alto = imagesy($original);

imagecopyresampled($thumb,$original,0,0,0,0,50,50, $ancho,$alto);


$d=imagejpeg($thumb,$archie,90); // 90 es la calidad de compresión



$binario_contenido1 =addslashes(fread(fopen($archie,"rb"), filesize($archie)));










//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO productos (codigo,nom_prod,precio,fotografia,descripcion) VALUES ('', '$nom', '$pre', '$binario_contenido1', '$des')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
?>
<center>
<b>
<?php
echo "El Producto ha sido Ingresado Satisfactoriamente";


$dirname="./".$archie;

function rmd($dirname)
{
// Sanity check
if (!file_exists($dirname)) {
return false;
}

// Simple delete for a file
if (is_file($dirname)) {
return unlink($dirname);
}



return rmdir($dirname);
}

$dirname ="./".$archie;
rmd($dirname);



?>
<br>
<br>
<center>
<b>Si desea Ingresar otro Producto haga click,&nbsp;<a href="insertarpro.html"><font color="blue">Aqui</font></b></a>
<div id="Layer4" style="position:absolute; width:375px; height:22px; z-index:2; left: -43px; top: -31px;"><a href="mantenimientotrampa.php"><font color="#0000CC">Volver al Menu Principal de Mantenimiento </font></a></div>
</div>
</div>
<img src="slice_05.jpg" width="619" height="79"></div>
</div>
</body>
</html>
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria