hola
examina este code, a ver si te sirve, es capaz de subir 20 files o las que quieras, con nombre que quiera y desacripcion
y guardarlas en la BBDD. adaptalo a tus necesidades y campos de la bbdd y campos del form...
tambien tiene un select donde pongo las categorias, que obtengo de la bbdd
Código PHP:
<form action="" method="post" enctype="multipart/form-data" name="form1">
Cantidad: <select name="cantidad">
<script type="text/javascript">
for(x=1;x<=20;x++){
document.write("<option value="+ x +">"+ x+"</option>");
}
</script>
</select>
<input type="submit" name="Submit" value="Submit"><br>
<?php
if(isset($_POST['Submit'])){
for($i=1;$i<=$_POST['cantidad'];++$i){
echo "Imagen".$i."<br>";
echo "<input type=\"file\" name=\"archivo[]\"><br>";
echo "nombre".$i."<br>";
echo "<input type=\"text\" name=\"nombre[]\"><br>";
echo "descripcion".$i."<br>";
echo "<textarea name=\"description[]\" id=\"description\" cols=\"45\" rows=\"5\"></textarea><br>";
echo"<select name=\"cat[]\" id=\"cat\">";
$sql = "SELECT * FROM categorias ";
$result = mysql_query($sql) or die ( mysql_error() );
while ($row = mysql_fetch_array($result)){
echo "<option value=\"".$row[id]."\">".htmlentities($row[categoria])."</option>\n<br>";
}
echo"</select><br><br>";
}
echo "<input type=\"submit\" name=\"Submit2\" value=\"Submit2\">";
echo "<input type=\"hidden\" name=\"cant1\" value=\"$i\">";
}
if(isset($_POST['Submit2'])){
$cantidad2 =count($_FILES["archivo"]);
for ($j=0;$j<=$cantidad2;$j++){
$archivo = $_FILES["archivo"]["tmp_name"][$j];
$tamanio = $_FILES["archivo"]["size"][$j];
$tipo = $_FILES["archivo"]["type"][$j];
$nombre = $_FILES["archivo"]["name"][$j];
$name = $_POST['nombre'][$j];
$descripcion = $_POST['description'][$j];
$categoria = $_POST['cat'][$j];
$x=$j;
do{
$x++;
if( $name != "" ){
//quitamos espacios al principio y al final del nombre
$ruta_destino = "archivos/";
$namefinal= trim ($nombre);
//cambio espacios del nombre archivo por guiones bajos
$namefinal= ereg_replace (" ", "_", $namefinal);
$uploadfile= $ruta_destino . $namefinal;
if(move_uploaded_file($_FILES["archivo"]["tmp_name"][$j], $uploadfile)) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$uploadfile."\">".$namefinal."</a></i><br>";
echo "Tipo MIME: <i>".$tipo."</i><br>";
echo "Peso: <i>".$tamanio." bytes</i><br>";
echo "<hr><br><br>";
//AQUI INSERTE EN LA BASE DE DATOS
$query = "INSERT INTO descargas (name, description, ruta, tipo, size, id_cat)
VALUES ('$name', '$descripcion' , '$namefinal', '$tipo', '$tamanio','$categoria')";
mysql_query($query) or die(mysql_error());
echo "El archivo <b>'$namefinal'</b> ha sido registrado de manera satisfactoria.<br />";
echo "<br><hr><br><br><br>";
}
}
}while($x<$j);
}
}
?>
</form>
Un saludo