Foros del Web » Programando para Internet » PHP »

Cargar Imagen A BD ERROR

Estas en el tema de Cargar Imagen A BD ERROR en el foro de PHP en Foros del Web. Quiero agregar imagenes a una BD. Encontré un codigo para ello en ww.buayacorp.com/archivos/guardar-una-imagen-y-su-miniatura-a-un-campo-blob-de-mysql/ Código PHP: <?php // Verificamos que el formulario no ha sido enviado aun $postback  = (isset( $_POST [ "enviar" ])) ?  true  :  ...
  #1 (permalink)  
Antiguo 03/05/2007, 11:07
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años
Puntos: 0
Cargar Imagen A BD ERROR

Quiero agregar imagenes a una BD. Encontré un codigo para ello en ww.buayacorp.com/archivos/guardar-una-imagen-y-su-miniatura-a-un-campo-blob-de-mysql/

Código PHP:
<?php
// Verificamos que el formulario no ha sido enviado aun
$postback = (isset($_POST["enviar"])) ? true false;
if(
$postback){
  
// Nivel de errores
  
error_reporting(E_ALL);
  
// Constantes
  # Altura de el thumbnail en pÃ*xeles
  
define("ALTURA"100);
  
# Nombre del archivo temporal del thumbnail
  
define("NAMETHUMB""/tmp/thumbtemp"); //Esto en servidores Linux, en Windows podrÃ*a ser:
// define("NAMETHUMB", "c:/windows/temp/thumbtemp"); y te olvidas de los problemas de permisos
  # Servidor de base de datos
  
define("DBHOST""localhost");
  
# nombre de la base de datos
  
define("DBNAME""dbequipelsol");
  
# 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"];
  
// 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);
  
$ratio = ($datos[1]/ALTURA);
  
$ancho round($datos[0]/$ratio);
  
$thumb imagecreatetruecolor($anchoALTURA);
  
imagecopyresized($thumb$img0000$anchoALTURA$datos[0], $datos[1]);
  switch(
$type) {
    case 
$mimetypes[0]:
    case 
$mimetypes[1]:
      
imagejpeg($thumbNAMETHUMB);
          break;
    case 
$mimetypes[2]:
      
imagegif($thumbNAMETHUMB);
      break;
    case 
$mimetypes[3]:
      
imagepng($thumbNAMETHUMB);
      break;
  }
  
// Extrae los contenidos de las fotos
  # contenido de la foto original
  
$fp fopen($tmp_name"rb");
  
$tfoto fread($fpfilesize($tmp_name));
  
$tfoto addslashes($tfoto);
  
fclose($fp);
  
# contenido del thumbnail
  
$fp fopen(NAMETHUMB"rb");
  
$tthumb fread($fpfilesize(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"];
  
$link mysql_connect(DBHOSTDBUSERDBPASSWORD) or die(mysql_error($link));;
  
mysql_select_db(DBNAME$link) or die(mysql_error($link));
  
$sql "INSERT INTO fotos(nombre, foto, thumb, mime)
    VALUES
    ('$nombre', '$tfoto', '$tthumb', '$type')"
;
  
mysql_query($sql$link) or die(mysql_error($link));
  echo 
"Fotos guardadas";
  exit();
}
?>
AL ejecutarla me da el siguiente error. Fatal error: Call to undefined function imagecreatefromjpeg() in C:\wamp\www\carga_imagen.php on line 35. En esta linea tengo lo siguiente.

Código PHP:
      $img imagecreatefromjpeg($tmp_name); 
a ver si uds le encuentran que es lo que puede estar fallando. Gracias
  #2 (permalink)  
Antiguo 03/05/2007, 11:13
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 10 meses
Puntos: 3
Re: Cargar Imagen A BD ERROR

1.- Asegurate que en tu HOST tengan instalado las librerias GD para el manejo de imagenes...

2.- Si estas corriendo el script en PHP5, las funciones te van a funcionar completamente, pero si tu servidor usa PHP4 debes cambiar los parametros $_FILES por $HTTP_POST_FILES
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #3 (permalink)  
Antiguo 03/05/2007, 11:17
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años
Puntos: 0
Re: Cargar Imagen A BD ERROR

Gracias Cirujano voy a ver eso de las librerias, me habia olvidado de verificar eso. Cualquier cosa te comento. Gracias
  #4 (permalink)  
Antiguo 03/05/2007, 17:52
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años
Puntos: 0
Re: Cargar Imagen A BD ERROR

Probé en Script en El Servidor remoto y anduvo a la perfeccion. En mi Servidor local Me parece que no estan activadas las librerias GD. Digo me parece por que no estoy seguro, no pude encontrar el Archivo php.ini para confirmarlo. Gracias de todos modos Cirujano
  #5 (permalink)  
Antiguo 04/05/2007, 07:16
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 10 meses
Puntos: 3
Re: Cargar Imagen A BD ERROR

el php.ini esta en c:\php (o en la ruta donde instalastes el PHP) esta como:
php.ini-dist

dentro descomenta la extension=php_gd2.dll
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
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 05:12.