Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/12/2009, 12:39
Avatar de sarfimenez
sarfimenez
 
Fecha de Ingreso: julio-2009
Mensajes: 27
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: No me muestra la imagen completa

// Constantes
# Altura de el thumbnail en píxeles
define("ALTURA", 200);
# Nombre del archivo temporal del thumbnail
// define("NAMETHUMB", "/tmp/thumbtemp"); //Esto en servidores Linux, en Windows podría ser:y te olvidas de los problemas de permisos
define("NAMETHUMB", "c:/windows/temp/thumbtemp");
# Servidor de base de datos
define("DBHOST", "localhost");
# nombre de la base de datos
define("DBNAME", "bd_banners");
# Usuario de base de datos
define("DBUSER", "root");
# Password de base de datos
define("DBPASSWORD", "");
// Mime types permitidos
$mimetypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");
// Variables de la foto
$name = $_FILES["foto"]["name"];
$type = $_FILES["foto"]["type"];
$tmp_name = $_FILES["foto"]["tmp_name"];
$size = $_FILES["foto"]["size"];
echo "Tamaño ";
echo $size;
// Verificamos si el archivo es una imagen válida
if(!in_array($type, $mimetypes))
die("El archivo que subiste no es una imagen válida");
// Creando el thumbnail
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
$img = imagecreatefromjpeg($tmp_name);
break;
case $mimetypes[2]:
$img = imagecreatefromgif($tmp_name);
break;
case $mimetypes[3]:
$img = imagecreatefrompng($tmp_name);
break;
}
$datos = getimagesize($tmp_name);
echo "datos ";
echo $datos[0];
echo " ";
echo "datos ";
echo $datos[1];
echo " ";
$ratio = ($datos[1]/ALTURA);
$ancho = round($datos[0]/$ratio);
$thumb = imagecreatetruecolor($ancho, ALTURA);
imagecopyresized($thumb, $img, 0, 0, 0, 0, $ancho, ALTURA, $datos[0], $datos[1]);
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:

ob_start();
imagejpeg($thumb, NAMETHUMB);
$jpg = ob_get_contents();
ob_end_clean();
$jpg = str_replace('##','\#\#',mysql_escape_string($jpg)) ;
break;
case $mimetypes[2]:
imagegif($thumb, NAMETHUMB);
break;
case $mimetypes[3]:
imagepng($thumb, NAMETHUMB);
break;
}
// Extrae los contenidos de las fotos
# contenido de la foto original
$fp = fopen($tmp_name, "rb");
$tfoto = fread($fp, filesize($tmp_name));
$tfoto = addslashes($tfoto);
fclose($fp);
# contenido del thumbnail
$fp = fopen(NAMETHUMB, "rb");
$tthumb = fread($fp, filesize(NAMETHUMB));
$tthumb = addslashes($tthumb);
fclose($fp);
// Borra archivos temporales si es que existen
@unlink($tmp_name);
@unlink(NAMETHUMB);
// Guardamos todo en la base de datos
#nombre de la foto
$nombre = $_POST["nombre"];
$descripcion = $_POST["descripcion"];
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
// $sql = "INSERT INTO tabla(nombre, foto, thumb, mime, descripcion) VALUES('$nombre', '$jpg', '$tthumb', '$type','$descripcion')";
$sql ="INSERT INTO tabla SET foto='$jpg',nombre='$nombre',descripcion='$descrip cion', thumb='$tthumb', mime='$type'";
mysql_query($sql, $link) or die(mysql_error($link));
echo "Fotos guardadas";
exit();


este es el codigo con el que guardo la foto o imagen.