Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2004, 22:14
iarrieta
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 22 años
Puntos: 0
modificar imagen a traves de formulario

Hola:

Siguiendo instrucciones de Cluster (excelente trabajo), he logrado subir, ver, modificar y borrar datos en mi bd.
Ahora, necesito aplicar lo logrado ayer pero incluyendo una imagen que sube a mi BD.
Revisando el foro, encontre el tutorial que hizo el mismo personaje (sin palabras...) y, por supuesto, todo funciona a las mil maravillas.
Adapte el de ayer con lo del tutorial y ahora puedo perfectamente subir, borrar y ver datos e imagenes de mi BD.
El problema esta a la hora de modificar... NI IDEA!!!!!!!!!!!!!!!!!!!
Pongo los codigos:

Este lo uso para insertar (formulario) y se llama insertar_linea_blanca.php

arriba
Código PHP:
<? 
if (isset($_GET['proceso'])){ 
echo 
$_GET['proceso']."<br>"

?>
el resto
Código PHP:
<form action="insertar_linea_blanca2.php" method="post" enctype="multipart/form-data" name="producto" id="producto">
                    <
table width="255">
                      <
tr>
                        <
td width="91"><div align="left">Producto:</div></td>
                        <
td width="152"><div align="left">
                          <
input name="producto" type="text" id="producto" size="33" align="left">
                        </
div></td>
                      </
tr>
                      <
tr>
                        <
td><div align="left">Modelo:</div></td>
                        <
td><div align="left">
                          <
input name="modelo" type="text" id="modelo" size="33" align="left">
                        </
div></td>
                      </
tr>
                      <
tr>
                        <
td><div align="left">Descripci&oacute;n:</div></td>
                        <
td><div align="left">
                          <
textarea name="descripcion" cols="25" rows="4" id="descripcion"></textarea>
                        </
div></td>
                      </
tr>
                      <
tr>
                        <
td><div align="left">Precio:</div></td>
                        <
td><div align="left">
                          <
input name="precio" type="text" id="precio" size="33" align="left">
                        </
div></td>
                      </
tr>
                      <
tr>
                        <
td><div align="left">Stock:</div></td>
                        <
td><div align="left">
                          <
input name="stock" type="text" id="stock" size="33" align="left">
                        </
div></td>
                      </
tr>
                      <
tr>
                        <
td><div align="left">Imagen:</div></td>
                        <
td><div align="left">
                          <
input name="imagen" type="file" id="imagen" size="33" align="left">
                        </
div></td>
                      </
tr>
                      <
tr>
                        <
td>&nbsp;</td>
                        <
td>&nbsp;</td>
                      </
tr>
                      <
tr>
                        <
td colspan="2"><div align="center">
                            <
input type="submit" name="submit" value="Ingresar Registros">
                        </
div></td>
                      </
tr>
                    </
table>
                  </
form

Al "submit", llama a insertar_linea_blanca2.php que es este:

Código PHP:
<?php 
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción: 
// No se comprueba aqui si se ha subido correctamente. 
if (empty($_FILES['imagen']['name'])){ 
header("location: insertar_linea_blanca.php?proceso=falta_indicar_imagen"); //o como se llame el formulario .. 
exit; 


//establece una conexión con la base de datos. 
$conexion mysql_connect("localhost","nj_admin","123456") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("nj_productos",$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['imagen']['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))); 

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo. 
$binario_nombre=$_FILES['imagen']['nombre']; 
$binario_peso=$_FILES['imagen']['peso']; 
$binario_tipo=$_FILES['imagen']['tipo']; 

//insertamos los datos en la BD. 
$consulta_insertar "INSERT INTO linea_blanca (id, producto, modelo, descripcion, precio, stock, imagen, nombre, peso, tipo) VALUES ('', '$producto', '$modelo', '$descripcion', '$precio', '$stock', '$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: ver_linea_blanca.php");  // si ha ido todo bien 
exit; 
?>

este es el proceso de insertar y funciona perfecto... lo coloque para comparar con el de modificar...

Los campos de la BD para el archivo son: imagen, nombre, peso y tipo.

continuara!!!