Foros del Web » Programando para Internet » PHP »

Upload Imagenes

Estas en el tema de Upload Imagenes en el foro de PHP en Foros del Web. Hola a todos!! Recurro a ustedes porque necesito algo urgentemente. Lo que quiero lograr es que mediante un formulario, el cual recoge la imagen examinando ...
  #1 (permalink)  
Antiguo 19/12/2006, 13:30
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Upload Imagenes

Hola a todos!!

Recurro a ustedes porque necesito algo urgentemente.
Lo que quiero lograr es que mediante un formulario, el cual recoge la imagen examinando nuestra PC, se pueda almacenar la imagen en la base de datos, para luego poder mostrarla haciendo una llamada a la BD.
No se como es el funcionamiento, supongo que al seleccionar la imagen la sube al FTP y al mismo tiempo la inserta en la base de datos =S.
Si alguien me puede poner algún código, nada complejo, mas bien simple para poder comprenderlo.
Espero haber sido explicito en lo que necesito.

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 19/12/2006, 13:41
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Upload Imagenes

Porfavor checa este link http://www.forosdelweb.com/showthrea...389#post249389

Saludillos.
  #3 (permalink)  
Antiguo 19/12/2006, 14:04
Avatar de cambito  
Fecha de Ingreso: junio-2006
Mensajes: 66
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Upload Imagenes

Que onda, esta pelada tambien esta onda checate estos scripts y analizalo, dime si tienes alguna duda:
webtaller.com/tallerscripts/scripts/11/
  #4 (permalink)  
Antiguo 19/12/2006, 15:07
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Upload Imagenes

Gracias a los dos por responder, pero todavía no hay respondido la parte en la que quiero que se inserte en la base de datos.
Si alguien mas sabe esto será agradecido.

Un saludo
  #5 (permalink)  
Antiguo 19/12/2006, 16:13
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Upload Imagenes

Este codigo está en el faq que lo hizo CLUSTER pero no me acuerdo de la direccion pero como lo tengo en mi directorio te lo paso.

En la base de datos tienes que poner:

Código:
CREATE TABLE IF NOT EXISTS `productos` (
  `id` int(6) unsigned NOT NULL auto_increment,
  `archivo_nombre` varchar(50) NOT NULL default '',
  `archivo_peso` varchar(30) NOT NULL default '',
  `archivo_tipo` varchar(30) NOT NULL default '',
  `archivo_binario` longblob NOT NULL,
  PRIMARY KEY  (`id`)
Creas el formulario:

Código HTML:
<form enctype="multipart/form-data" method="post" ACTION="imagen_insertar.php" >

<input type="file" name="archivo" size="30">
<input type="submit" name="submit" value="insertar" style="height:17px" /> 
El codigo de insertar:

Código PHP:
<?php 

// INICIAS LA SESION
session_start();
//establece una conexión con la base de datos. 
$conexion mysql_connect("localhost","usuario","pass") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("nombre_BD",$conexion) or die("No se puede seleccionar BD"); // nombre_bd es el nombre de la Base de datos 



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

// leer del archvio temporal .. el binario subido. 
// "rb" para Windows .. Linux parece q con "r" sobra ... 
if (!empty($_FILES['archivo']['name'])){ 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 
} else { 
  
$binario_contenido=NULL
}
// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo. 
$binario_nombre=$_FILES['archivo']['name']; 
$binario_peso=$_FILES['archivo']['size']; 
$binario_tipo=$_FILES['archivo']['type']; 

//insertamos los datos en la BD. 
$consulta_insertar "INSERT INTO tabla (id, archivo_binario,archivo_nombre,archivo_peso,archivo_tipo) VALUES ('','$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos."); 
header("location: $HTTP_REFERER");  // si ha ido todo bien 
exit; 
?>
Y para hacer la consulta:

Código PHP:
<?php 
    mysql_connect
("localhost","usuario","pass") or die ("no se ha podido conectar a la BD"); 

    
mysql_select_db("nombre_BD") or die ("no se ha podido seleccionar la BD"); 

    
$sql "SELECT * FROM tabla WHERE id='$id'"
    
$consulta mysql_query($sql) or die ("No se pudo ejecutar la consulta"); 

    While (
$row=mysql_fetch_assoc($consulta)){ 
        echo 
"<img src=\"pachecodesign.php?id=".$row['id']."\">"
    } 

?>
El archivo pachecodesign.php tiene que tener el siguiente codigo:

Código PHP:
<?php 

// OJO, sólo funciona con imagnes en formato JPEG ... 

if(isset($_GET['id'])) { 

    
$conexion=mysql_connect("localhost","usuario","pass") or die ("no se ha podido conectar a la BD"); 
    
mysql_select_db("nombre_BD") or die ("no se ha podido seleccionar la BD"); 
    
$sql "SELECT archivo_binario,archivo_tipo,archivo_nombre FROM tabla WHERE id='".$_GET['id']."'"
    
$consulta mysql_query($sql,$conexion); 
    
$imagen mysql_result($consulta,0,"archivo_binario"); 

    
// Envio cabeceras al navegador .. se indica que lo "que vá" es una imagen de formato MIME JPEG 
    
Header ("Content-type: image/jpeg"); 

    
// Generar el thumbnail: 

    // Se crea la imagen desde el campo binario de la BD 
    
$img imagecreatefromstring($imagen); 

    
// Tamaño del Thumbanil (de la imagen a generar ..) 
    
$picsize 123
     
    
// Se obtienen los datos del ancho y alto de la imagen. 
    
$new_w imagesx($img); 
    
$new_h imagesy($img); 

    
// Se calcula la relación alto/ancho 
    
$aspect_ratio $new_h $new_w
     
    
// Se ajusta al nuevo tamaño 
    
$new_w $picsize
    
$new_h abs($new_w $aspect_ratio); 

    
// Se crea la mascara de la imagen nueva 
    
$dst_img imagecreate($new_w,$new_h); 

    
// Se copia y reajusta el nuevo tamaño en la nueva imagen. 
    
imagecopyresized($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img)); 

    
// Se entrega al buffer de salida (navegador en este caso) la imagen en formato JPEG 
    // El tercer parámetro (100) indica la calidad de la imagen: en porcentaje relación calidad/peso imagen. 
    
imagejpeg($dst_img,'',100); 


?>

Un saludo
  #6 (permalink)  
Antiguo 19/12/2006, 21:39
Usuario no validado
 
Fecha de Ingreso: diciembre-2001
Ubicación: MERIDA
Mensajes: 498
Antigüedad: 22 años, 3 meses
Puntos: 2
Re: Upload Imagenes

Hola !!!

Lee este tema, quizás pueda ayudarte.

http://www.forosdelweb.com/f18/ayuda-con-upload-imagenes-450107/

Saludos !!!
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 20:25.