Foros del Web » Programando para Internet » PHP »

upload a bd de varias imagenes :: Resuelto!!!

Estas en el tema de upload a bd de varias imagenes :: Resuelto!!! en el foro de PHP en Foros del Web. Hola: Desde hace algun tiempo utilizo el script del tutorial para subir imagenes a la base de datos como blog. Siempre me funciona, genero las ...
  #1 (permalink)  
Antiguo 02/04/2006, 23:51
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
upload a bd de varias imagenes :: Resuelto!!!

Hola:

Desde hace algun tiempo utilizo el script del tutorial para subir imagenes a la base de datos como blog. Siempre me funciona, genero las miniaturas, etc. Perfecto...

Pero ahora necesito modificarlo para poder subir mas de una imagen, especificamente 3. Les pongo el form que he hecho. Tambien el codigo php para el upload pero sin modificar porque no tengo ni iea. Eso es lo que solicito... ayuda para modificarlo.

El form:
Código HTML:
<form action="upload_entrevista.php" method="post" enctype="multipart/form-data" name="entrevista" id="entrevista">
  <p>NOMBRE:
    <input name="nombre" type="text" id="nombre" />
  </p>
  <p>RESPUESTA 1 :
    <input name="respuesta_1" type="text" id="respuesta_1" />
</p>
  <p>RESPUESTA 2:
    <input name="respuesta_2" type="text" id="respuesta_2" />
</p>
  <p>RESPUESTA 3:
    <input name="respuesta_3" type="text" id="respuesta_3" />
</p>
  <p>RESPUESTA 4:
    <input name="respuesta_4" type="text" id="respuesta_4" />
</p>
  <p>RESPUESTA 5:
    <input name="respuesta_5" type="text" id="respuesta_5" />
</p>
  <p>RESPUESTA 6:
    <input name="respuesta_6" type="text" id="respuesta_6" />
</p>
  <p>RESPUESTA 7:
    <input name="respuesta_7" type="text" id="respuesta_7" />
</p>
  <p>FOTO 1: 
    <input type="file" name="archivo[]" />
  </p>
  <p>FOTO 2:
    <input type="file" name="archivo[]" />
</p>
  <p>FOTO 3:
    <input type="file" name="archivo[]" />
</p>
  <p>
    <input type="submit" name="Submit" value="Enviar" />
  </p>
</form> 
El upload:
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['archivo']['name'])){ 
header("location: form_entrevista.html?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


//establece una conexión con la base de datos. 
$conexion mysql_connect("localhost","root","") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("xxxxxx",$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['archivo']['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['archivo']['name']; 
$binario_peso=$_FILES['archivo']['size']; 
$binario_tipo=$_FILES['archivo']['type']; 

//insertamos los datos en la BD. 
$consulta_insertar "INSERT INTO entrevistas (id, nombre, respuesta_1, respuesta_2, respuesta_3, respuesta_4, respuesta_5, respuesta_6, respuesta_7, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$nombre', '$respuesta_1', '$respuesta_2', '$respuesta_3' '$respuesta_4', '$respuesta_5', '$respuesta_6', '$respuesta_7' '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar la foto en la base de datos."); 
header("location: form_entrevista.html");  // si ha ido todo bien 
exit; 
?>

Última edición por iarrieta; 03/04/2006 a las 12:02
  #2 (permalink)  
Antiguo 03/04/2006, 08:33
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Yo hago esto:

Código PHP:
<form action="upload_entrevista.php" method="post" enctype="multipart/form-data" name="entrevista" id="entrevista">  
<p>NOMBRE: <input name="nombre" type="text" id="nombre" />  </p>  
<p>RESPUESTA 1 : <input name="respuesta_1" type="text" id="respuesta_1" /> </p>  
<p>RESPUESTA 2: <input name="respuesta_2" type="text" id="respuesta_2" /> </p>  
<p>RESPUESTA 3: <input name="respuesta_3" type="text" id="respuesta_3" /> </p>  
<p>RESPUESTA 4: <input name="respuesta_4" type="text" id="respuesta_4" /> </p>  
<p>RESPUESTA 5: <input name="respuesta_5" type="text" id="respuesta_5" /> </p>  
<p>RESPUESTA 6: <input name="respuesta_6" type="text" id="respuesta_6" /> </p>  
<p>RESPUESTA 7: <input name="respuesta_7" type="text" id="respuesta_7" /> </p> 
<?php
   $nfotos
=3;
   for(
$i=1;$i<=3;$i++)
   {
?> 
<p>FOTO <?php echo $i;?>: <input type="file" name="<?php echo 'archivo'.$i;?>" />  </p>  
<?php
   
}
?>
<p>  <input type="submit" name="Submit" value="Enviar" />  </p> 
</form>
upload

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['archivo']['name'])){ 
header("location: form_entrevista.html?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


//establece una conexión con la base de datos. 
$conexion mysql_connect("localhost","root","") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("xxxxxx",$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['archivo']['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. 
$nfotos=3;
for(
$i=1;$i<=3;$i++)
{
   
$myfile="archivo$i";
   
$binario_nombre=$_FILES[$myfile]['name'];  
   
$binario_peso=$_FILES[$myfile]['size']; 
   
$binario_tipo=$_FILES[$myfile]['type']; 

   
//insertamos los datos en la BD. 
   
$consulta_insertar "INSERT INTO entrevistas (id, nombre, respuesta_1, respuesta_2, respuesta_3, respuesta_4, respuesta_5, respuesta_6, respuesta_7, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$nombre', '$respuesta_1', '$respuesta_2', '$respuesta_3' '$respuesta_4', '$respuesta_5', '$respuesta_6', '$respuesta_7' '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
   
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar la foto en la base de datos."); 
}
header("location: form_entrevista.html");  // si ha ido todo bien 
exit; 
?>
Me hubiera gustado hacerlo con foreach, pero como no salió a la primera he usado siempre esto.
  #3 (permalink)  
Antiguo 03/04/2006, 08:53
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Gracias por tu ayuda, voy a probar tu codigo a ver que tal.
  #4 (permalink)  
Antiguo 03/04/2006, 08:59
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Nada... me devuelve al formulario y pone en la barra de direcciones lo siguiente:

http://localhost/xxxxxxxxxxx/xxxxxx/...ndicar_fichero

Y no ingresa nada a la base de datos
  #5 (permalink)  
Antiguo 03/04/2006, 09:23
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Creo que es porque deje fuera del for la variable binario_contenido.

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['archivo']['name'])){ 
header("location: form_entrevista.html?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


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

$nfotos=3;
for(
$i=1;$i<=3;$i++)
{
   
// 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 ... 
   
$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. 

   
$myfile="archivo$i";
   
$binario_nombre=$_FILES[$myfile]['name'];  
   
$binario_peso=$_FILES[$myfile]['size']; 
   
$binario_tipo=$_FILES[$myfile]['type']; 

   
//insertamos los datos en la BD. 
   
$consulta_insertar "INSERT INTO entrevistas (id, nombre, respuesta_1, respuesta_2, respuesta_3, respuesta_4, respuesta_5, respuesta_6, respuesta_7, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$nombre', '$respuesta_1', '$respuesta_2', '$respuesta_3' '$respuesta_4', '$respuesta_5', '$respuesta_6', '$respuesta_7' '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
   
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar la foto en la base de datos."); 
}
header("location: form_entrevista.html");  // si ha ido todo bien 
exit; 
?>
  #6 (permalink)  
Antiguo 03/04/2006, 09:30
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Lo mismo:

http://localhost/xxxxxx/xxxxxx/form_...ndicar_fichero
  #7 (permalink)  
Antiguo 03/04/2006, 10:04
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
jeje, ahora me falto el indice.

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['archivo']['name'])){ 
header("location: form_entrevista.html?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


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

$nfotos=3;
for(
$i=1;$i<=3;$i++)
{
   
$myfile="archivo$i";
   
// archivo temporal (ruta y nombre). 
   
$binario_nombre_temporal=$_FILES[$myfile]['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[$myfile]['name'];  
   
$binario_peso=$_FILES[$myfile]['size']; 
   
$binario_tipo=$_FILES[$myfile]['type']; 

   
//insertamos los datos en la BD. 
   
$consulta_insertar "INSERT INTO entrevistas (id, nombre, respuesta_1, respuesta_2, respuesta_3, respuesta_4, respuesta_5, respuesta_6, respuesta_7, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$nombre', '$respuesta_1', '$respuesta_2', '$respuesta_3' '$respuesta_4', '$respuesta_5', '$respuesta_6', '$respuesta_7' '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
   
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar la foto en la base de datos."); 
}
header("location: form_entrevista.html");  // si ha ido todo bien 
exit; 
?>
  #8 (permalink)  
Antiguo 03/04/2006, 10:08
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Nada, el mismo resultado
  #9 (permalink)  
Antiguo 03/04/2006, 10:14
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
No me di cuenta del if que está al principio del script.

Código PHP:
<form action="upload_entrevista.php" method="post" enctype="multipart/form-data" name="entrevista" id="entrevista">  
<p>NOMBRE: <input name="nombre" type="text" id="nombre" />  </p>  
<p>RESPUESTA 1 : <input name="respuesta_1" type="text" id="respuesta_1" /> </p>  
<p>RESPUESTA 2: <input name="respuesta_2" type="text" id="respuesta_2" /> </p>  
<p>RESPUESTA 3: <input name="respuesta_3" type="text" id="respuesta_3" /> </p>  
<p>RESPUESTA 4: <input name="respuesta_4" type="text" id="respuesta_4" /> </p>  
<p>RESPUESTA 5: <input name="respuesta_5" type="text" id="respuesta_5" /> </p>  
<p>RESPUESTA 6: <input name="respuesta_6" type="text" id="respuesta_6" /> </p>  
<p>RESPUESTA 7: <input name="respuesta_7" type="text" id="respuesta_7" /> </p> 
<?php
   $nfotos
=3;
   for(
$i=1;$i<=$nfotos;$i++)
   {
?> 
<p>FOTO <?php echo $i;?>: <input type="file" name="<?php echo 'archivo'.$i;?>" />  </p>  
<?php
   
}
?>
<p>  <input type="submit" name="Submit" value="Enviar" />  </p> 
</form>
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.
//comprueba si al menos hay un archivo 
if (empty($_FILES['archivo1']['name'])){ 
header("location: form_entrevista.html?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


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

$nfotos=3;
for(
$i=1;$i<=$nfotos;$i++)
{
   
$myfile="archivo$i";
   
// archivo temporal (ruta y nombre). 
   
$binario_nombre_temporal=$_FILES[$myfile]['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[$myfile]['name'];  
   
$binario_peso=$_FILES[$myfile]['size']; 
   
$binario_tipo=$_FILES[$myfile]['type']; 

   
//insertamos los datos en la BD. 
   
$consulta_insertar "INSERT INTO entrevistas (id, nombre, respuesta_1, respuesta_2, respuesta_3, respuesta_4, respuesta_5, respuesta_6, respuesta_7, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$nombre', '$respuesta_1', '$respuesta_2', '$respuesta_3' '$respuesta_4', '$respuesta_5', '$respuesta_6', '$respuesta_7' '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
   
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar la foto en la base de datos."); 
}
header("location: form_entrevista.html");  // si ha ido todo bien 
exit; 
?>
  #10 (permalink)  
Antiguo 03/04/2006, 10:21
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Pue mejoramos... pero ahora me da un error:

No se pudo insertar la foto en la base de datos.

Obviamente ya es por la Base de datos. Debo crear mas campos para binarios? tantos como imagenes voy a subir?

Asi esta mi BD:

id
nombre
respuesta_1
respuesta_2
respuesta_3
respuesta_4
respuesta_5
respuesta_6
respuesta_7
archivo_binario
archivo_nombre
archivo_peso
archivo_tipo
  #11 (permalink)  
Antiguo 03/04/2006, 10:46
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
En lugar de este error: or die("No se pudo insertar la foto en la base de datos.");
deberias colocar: or die(mysql_error()) para saber por que se produce el error.
  #12 (permalink)  
Antiguo 03/04/2006, 10:49
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
ok, voy a probar
  #13 (permalink)  
Antiguo 03/04/2006, 10:52
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Listo, me dice esto:

Column count doesn't match value count at row 1
  #14 (permalink)  
Antiguo 03/04/2006, 11:14
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
El id lo pasas en blanco, si es auto_increment deberias pasarle null o simplemente no incluirlo en la lista de campos.
  #15 (permalink)  
Antiguo 03/04/2006, 11:23
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Listo amigo, era error mio pues faltaban un part de comas en:

VALUES ('', '$nombre', '$respuesta_1', '$respuesta_2', '$respuesta_3', '$respuesta_4', '$respuesta_5', '$respuesta_6', '$respuesta_7', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"

Ahora si me funciona, inserto los 3 archivos (imagenes) en la base de datos.

Pero me queda una duda... inserto 3 filas en la tabla, IDs 1,2 y 3, cada uno con fotos diferentes pero con los demas campos repetidos:


id nombre respuesta_1 respuesta_2 respuesta_3 respuesta_4 respuesta_5 respuesta_6 respuesta_7 archivo_binario archivo_nombre archivo_peso archivo_tipo
1 fgsdf sdfsdf sad asd asd asdsdasd asdasdasd asd [BLOB - 1.1 KB] 13.jpg 1162 image/pjpeg
2 fgsdf sdfsdf sad asd asd asdsdasd asdasdasd asd [BLOB - 1.7 KB] 29.jpg 1712 image/pjpeg
3 fgsdf sdfsdf sad asd asd asdsdasd asdasdasd asd [BLOB - 1.9 KB] 38.jpg 1956 image/pjpeg

Eso es normal? esta bien asi?
  #16 (permalink)  
Antiguo 03/04/2006, 11:28
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Confirmado.. hecas varias priuebas funciona perfecto.. Gracias claudiovega por tu ayuda.

Lo unico la duda de tantas inserciones como imagenes
  #17 (permalink)  
Antiguo 03/04/2006, 11:32
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Asi lo estás haciendo asi que asi ocurre. En este caso lo mejor es sacar el campo imagen de esa tabla y crear una tabla nueva con el id y el campo de la foto y en esta tabla guardar los datos.
  #18 (permalink)  
Antiguo 03/04/2006, 11:36
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
algo asi?:

tabla 1 = id_persona, nombre, respuesta_1,........

tabla 2 = id_fotos, id_persona, archivo_binario,..........
  #19 (permalink)  
Antiguo 03/04/2006, 11:55
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Resuelto... Gracias de nuevo claudiovega...!!!

Pongo el codigo de upload para quien le sirva:

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.
//comprueba si al menos hay un archivo 
if (empty($_FILES['archivo1']['name'])){ 
header("location: form_entrevista.php?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


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

//insertamos los datos en la BD. 
   
$consulta_insertar "INSERT INTO entrevistas (id, nombre, respuesta_1, respuesta_2, respuesta_3, respuesta_4, respuesta_5, respuesta_6, respuesta_7) VALUES ('', '$nombre', '$respuesta_1', '$respuesta_2', '$respuesta_3', '$respuesta_4', '$respuesta_5', '$respuesta_6', '$respuesta_7')"
   
mysql_query($consulta_insertar,$conexion) or die(mysql_error());

$nfotos=3;
for(
$i=1;$i<=$nfotos;$i++)
{
   
$myfile="archivo$i";
   
// archivo temporal (ruta y nombre). 
   
$binario_nombre_temporal=$_FILES[$myfile]['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, tamaño y tipo. 
 
   
$binario_nombre=$_FILES[$myfile]['name'];  
   
$binario_peso=$_FILES[$myfile]['size']; 
   
$binario_tipo=$_FILES[$myfile]['type'];
   
  
$consulta_insertar_dos "INSERT INTO entrevistas_fotos (id, nombre, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$nombre', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
   
mysql_query($consulta_insertar_dos,$conexion) or die(mysql_error());
}
header("location: form_entrevista.php");  // si ha ido todo bien 
exit; 
?>

Las tablas serian asi:

entrevistas:
id
nombre
respuesta_1
respuesta_2
respuesta_3
respuesta_4
respuesta_5
respuesta_6
respuesta_7

entrevistas_fotos:
id
nombre
archivo_binario
archivo_nombre
archivo_peso
archivo_tipo
  #20 (permalink)  
Antiguo 22/06/2006, 13:00
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Ayudaaaaaaaaa Porfiiiiiiiiiii!!!!!!!!!!!!!!!!!!

iarrieta por favor podrias poner el codigo completo de como insertas las imagenes a la base de datos identificada por la id?

Si quieres tengo creado un nuevo tema por si puedes ayudarme.... que creo que es lo qeu tu tienes mas o menos...
Gracias

http://www.forosdelweb.com/f18/como-puedo-ver-archivos-que-subo-base-datos-403914/
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 04:14.