Necesito que el usuario pueda definir la cantidad de archivos y fotos a subir, desde un input.
entonces, en el formulario me queda
Código:
Cantidad de fotos<br/>
<input type=\"text\" name=\"fotos\" /><br/>
Cantidad de archivos<br/>
<input type=\"text\" name=\"archivos\" /><br/>
en la siguiente pàgina, luego de haberse cargado otra información pertinente, nos da la posibilidad de cargar esas fotos y archivos:
Código:
$fotos = $_POST['fotos'];
$archivos = $_POST['archivos'];
echo " <form name=\"form1\" method=\"post\" action=\"agregar.php\">
<input type=\"hidden\" name=\"que\" value=\"cargafotosarchivos\" />
<input type=\"hidden\" name=\"idprod\" value=\"$idprod\" /><br/>
Fotos:<br/>";
echo str_repeat("Foto <br/><input name='foto[]' type=\"file\" id=\"foto[]\"><br/>", $fotos);
echo "<br/><br/>Archivos:<br/><br/>";
echo str_repeat("Nombre de archivo <br/><input type='text' name='archivon[]'><br/>
Archivo <br/><input name='archivo[]' type=\"file\" id=\"archivo[]\"><br/>", $archivos);
echo " <br/><br/><br/><input type=\"submit\" name=\"Submit\" value=\"Cargar\"></form>";
para que el usuario pueda cargarlos.
El tema es que cuando veo el código fuente en el explorer, los corchetes siguen vacíos (archivo[]) no se asignó un número como supuse que haría el array (archivo[]).
De todos modos, cargo los archivos y hago el intento de subirlos, pero...
Código:
/*SUBE FOTO AL SERVIDOR*/
$path="../fotos";
$selecti=$_POST['foto'];
foreach($selecti as $foto)
{
if (is_uploaded_file($HTTP_POST_FILES['foto']['tmp_name']))
{
copy($HTTP_POST_FILES['foto']['tmp_name'], $HTTP_POST_FILES['foto']['name']);
$subio = true;
}
$nombrefoto=$HTTP_POST_FILES['foto']['name'];
$nombrefoto=time()."$nombrefoto";
if($subio)
{
copy($HTTP_POST_FILES['foto']['tmp_name'], "$path/$nombrefoto");
echo "El archivo $nombrefoto subio con exito<br/>";
/*INSERTA FOTO EN LA DB*/
$squele= "insert into ollearis_fotos (id_producto, foto) values ('$idprod', '$nombrefoto')";
if ($result3aa = mysql_query($squele, $conexion))
{
echo "fotos cargadas ok<br/>";
}
else
{
echo $squele;
echo mysql_errno($conexion) . ": " . mysql_error($conexion) . "\n";
echo "No pudo ingresarse el registro. Contacte al programador<br/>";
}
}
else
{
echo "El archivo $nombrefoto ($foto) no cumple con las reglas establecidas<br/>";
echo $squele;
}
}
/*SUBE ARCHIVO AL SERVIDOR*/
$path2="../archivos";
$selecti2=$_POST['archivo'];
foreach($selecti2 as $archivo)
{
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name']))
{
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
$subio = true;
}
$nombrearchivo=$HTTP_POST_FILES['archivo']['name'];
if($subio)
{
copy($HTTP_POST_FILES['archivo']['tmp_name'], "$path2/$nombrearchivo");
echo "El archivo subio con exito<br/>";
/*INSERTA ARCHIVOO EN LA DB*/
$squele2= "insert into ollearis_archivos (id_producto, archivo) values ('$idprod', '$nombrearchivo')";
if ($result3aa2 = mysql_query($squele2, $conexion))
{
echo "archivos cargados ok<br/>";
}
else
{
echo mysql_errno($conexion) . ": " . mysql_error($conexion) . "\n";
echo "No pudo ingresarse el registro. Contacte al programador";
echo $squele2;}
}
else
{
echo "El archivo $nombrearchivo ($archivo) no cumple con las reglas establecidas<br/>";
}
}
el problema es que no me sube los archivos... supongo que por una cuetión de nombres, arrays o algo así.
espero ayuda, gracias!