¿Cómo subir dos imágenes con un formulario?

Tengo un formulario y necesito obligatoriamente subir dos imágenes, el código es el siguiente pero me funciona para subir una imagen solamente:

<form name='form2' action='registrarp.php' enctype="multipart/form-data" method='POST'>
Nombre del producto:
<input name="nombre" type="text" size="30">
Cantidad disponible:
<input name="stock" type="text" size="30">
Imagen:
<input name="img" type="file" size="30">
Precio:
<input name="precio" type="text" size="30">
Categoría:
<SELECT name="categ">
<OPTION VALUE="">Elija una..</OPTION>
<OPTION VALUE="Hombre">Hombre</OPTION>
<OPTION VALUE="Mujer">Mujer</OPTION>
<OPTION VALUE="Unisex">Unisex</OPTION>
</SELECT><br><br>
Sub-categoria:
<SELECT name="subcateg">
<OPTION VALUE="">Elija una..</OPTION>
<OPTION VALUE="Niño">niño</OPTION>
<OPTION VALUE="Niña">niña</OPTION>
<OPTION VALUE="Los dos">los dos</OPTION>
</SELECT><br><br>
Banner:
<input name="banner" type="file" size="30">
<input type="button" value="Registrar" name="registrar" onClick="validaciones()">
</form>

Y luego cuando voy a subir las img en el código php tengo estas dos lineas de código:

//Subimos la imagen en la carpeta indicada
move_uploaded_file($_FILES['img']['tmp_name'], "images/productos/".$_FILES['img']['name']);
move_uploaded_file($_FILES['banner'] ['tmp_name'], "images/productos/".$_FILES['banner']['name']);

Con una sola imagen funciona pero no se como hacer si necesito dos imágenes.

1 Respuesta

Respuesta
1

Para subir múltiples archivos lo que tienes que hacer es utilizar la funcionalidad de array que tienen los formularios, en lugar de usar nombres diferentes para las imágenes, tienes que poner los campos así:

<input name="img[]" type="file" size="30">

<input name="img[]" type="file" size="30">

Esto te dará como resultado un array en $_FILES que luego podrás usar así:

$_FILES['img']['name'][0]

$_FILES['img']['name'][1]

Solo tienes que cambiar name por tmp_name o la propiedad de la imagen que quieras. Si quieres poner más imágenes con aumentar el número de imputs es suficiente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas