Foros del Web » Programando para Internet » PHP »

Como subir 2 imagenes a la vez

Estas en el tema de Como subir 2 imagenes a la vez en el foro de PHP en Foros del Web. Bueno escribo por los siguiente bueno tengo un codigo en el cual puedo subir imagenes a un base de datos...este codigo me permite solo una ...
  #1 (permalink)  
Antiguo 06/11/2007, 16:26
Avatar de ca3s0n  
Fecha de Ingreso: junio-2007
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 0
Sonrisa Como subir 2 imagenes a la vez

Bueno escribo por los siguiente bueno tengo un codigo en el cual puedo subir imagenes a un base de datos...este codigo me permite solo una foto a la vez y kero saber sialguien me ayuda para que pueda subir dos fotos a la vez... bueno aqui les dejo el codigo:

formulario:

<FORM method='POST' ACTION='procesar.php' enctype='multipart/form-data'>
<table border="3" width="600" align="center">
<tr> <td colspan="3" align="center"> <h3> Ingreso de Nuevos Sitios </h3> </td></tr>

<tr> <td align="right"> Nombre Empresa: </td>
<td> <input type="text" name="nombre" size="50"> </td> </tr>

<tr> <td align="right"> URL del Sitio: </td>
<td> <input type="text" name="url" size="50" value="http://"> </td> </tr>

<tr> <td align="right"> Imagen o Index: </td>
<td> <input type="file" name="imagen" size="50"> </td> </tr>

<tr> <td align="right"> Descripcion del Sitio:</td>
<td> <input type="text" name="descripcion" size="65"> </td></tr>

<tr> <td colspan="3" align="right">
<INPUT TYPE="SUBMIT" value="Subir Sitio"> </td> </tr>
</table>
</FORM>

------------------------------------------------------------------------------------------------------
codigo que me permite guardar la imagen:

<?
if($_POST['nombre'])
{
$link = mysql_connect('localhost','user','pass');
mysql_select_db('bd', $link);
$nombre = $_POST['nombre'];
$url = $_POST['url'];
$descripcion = $_POST['descripcion'];
$prefijo = time();
$imagen = "../fotos/".$prefijo."_".$_FILES['imagen']['name'];
$imagen_tmp = $_FILES['imagen']['tmp_name'];
//compruebo de que se haya subido la foto a la carpeta temporal
//luego muevo la foto al directorio de destino

if(strlen($_FILES['imagen']['name']) > 0){
move_uploaded_file($imagen_tmp, $imagen);
}
//fin del arreglo
//consulta sql
mysql_query("insert into sitios (nombre, url, descripcion, ruta) values ('$nombre', '$url', '$descripcion', '$imagen')");
}
?>

-----------------------------------------------------------------------------------------------------

espero que me puedan ayudar... de ante mano gracias
  #2 (permalink)  
Antiguo 06/11/2007, 17:30
 
Fecha de Ingreso: abril-2004
Mensajes: 49
Antigüedad: 20 años
Puntos: 1
Re: Como subir 2 imagenes a la vez

Hola ca3s0n
Es bastante simple. Nota que en el formulario, cuando pones el input para subir el archivo, le pones un nombre. Lo que tienes que hacer primero es agregar un nuevo input con un nombre distinto.

Código:
<tr> <td align="right"> Otra Imagen o Index: </td>
<td> <input type="file" name="imagen2" size="50"> </td> </tr>
Fijate que el nombre de este otro input es "imagen2".

Ahora sólo deberías duplicar el código PHP que se encarga de manipular el primer archivo subido, y a ese duplicado cambiarle solamente el nombre de la variable cada vez que aparezca. Quedaría algo así:

Código PHP:
$imagen "../fotos/".$prefijo."_".$_FILES['imagen']['name'];
$imagen2 "../fotos/".$prefijo."_".$_FILES['imagen2']['name'];
$imagen_tmp $_FILES['imagen']['tmp_name'];
$imagen2_tmp $_FILES['imagen2']['tmp_name'];

if(
strlen($_FILES['imagen']['name']) > 0){
move_uploaded_file($imagen_tmp$imagen);
}
if(
strlen($_FILES['imagen2']['name']) > 0){
move_uploaded_file($imagen2_tmp$imagen2);

Luego solamente tendrías que hacer los cambios necesarios en tus consultas a la base de datos para agregar la info de esta otra imagen.

Todo esto es la forma más simple de hacerlo, pero también algo "bruta". Si, por ejemplo, tuvieras que agregar un número indefinido de imágenes, lo mejor sería quizás trabajar con arrays y con algunos bucles que automaticen el trabajo. Sería más ordenado y presentable.
Pero no prestes atención a esto último, con lo que te mostré debería bastarte.

Espero te ayude


Edit: hice una corrección. Ahora debería funcionar bien.
__________________
OS: Win 2k pc: duron 1800+ 384mb ram dimm
mother: pcchips.. creo
3d: geforce 4 fx5200 128mb
audio: philips seismic edge psc705
  #3 (permalink)  
Antiguo 06/11/2007, 20:08
Avatar de ca3s0n  
Fecha de Ingreso: junio-2007
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Como subir 2 imagenes a la vez

muchas gracias...bueno aun no he probado (es que no toi en mi ksa ahora) pero igual te agradesco de ante mano por tu ayuda...
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:01.