Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2008, 07:46
Avatar de arielcasanova
arielcasanova
 
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
cómo inserto mùltiples registros en db, a la vez que subo archivos al servidor?

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!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar

Última edición por arielcasanova; 13/08/2008 a las 08:25