Hice el siguiente codigo en 2 archivos php, que funciona perfecto, cargando 3 previews de 3 imagenes en 100 x 100px antes de subirlas a la BD..
El problema es que no logro poner todos los input en un mismo <form>, cada carga de archivo queda en un <form> diferente y me molesta para hacer el submit ya que tendría que poner 3 botones, uno para cada form..
traté con
$_FILES['archivo']['name']
$_FILES['archivo2']['name']
$_FILES['archivo3']['name']...
no funcionó, creo que el problema podría ser ("document.form"+id);) pero no me manejo con java
aquí dejo los codigos:
HTML
<html>
<head>
<script type="text/javascript">
function setpreview(id)
{
form=eval("document.form"+id);
form.target='iframe_null';
form.action='uploader.php?id='+id;
form.submit();
}
</script>
</head>
<body>
<form name="form1" action="" method="post" enctype="multipart/form-data">
<div>Personalizar tu imagen: </div>
<div><input name="archivo" id="archivo" type="file" size="35" onChange="setpreview(1)"/></div>
<div><img src="" id="picture1" alt="vista previa" height="100" width="100"/> </div>
</form>
<form name="form2" action="" method="post" enctype="multipart/form-data">
<div>Personalizar tu imagen: </div>
<div><input name="archivo" id="archivo" type="file" size="35" onChange="setpreview(2)"/></div>
<div><img src="" id="picture2" alt="vista previa" height="100" width="100"/> </div>
</form>
<form name="form3" action="" method="post" enctype="multipart/form-data">
<div>Personalizar tu imagen: </div>
<div><input name="archivo" id="archivo" type="file" size="35" onChange="setpreview(3)"/></div>
<div><img src="" id="picture3" alt="vista previa" height="100" width="100"/> </div>
</form>
<!-- iframe donde envia el formulario -->
<iframe src="about:blank" name="iframe_null" style="display:none">
</body>
</html>
UPLOADER PHP
<?php
$carpeta="imagenes_temporales/";
$name=$carpeta.basename($_FILES['archivo']['name']);
move_uploaded_file($_FILES['archivo']['tmp_name'],$name);
?>
<script type="text/javascript">
// Enviamos el nombre de la imagen al id picture de la pantalla de donde es llamado
parent.document.getElementById('picture<?php echo $_GET["id"];?>').src='<?php echo $name; ?>';
parent.document.getElementById('picture<?php echo $_GET["id"];?>').style.width='<?php echo $infoFile[0];?>px';
parent.document.getElementById('picture<?php echo $_GET["id"];?>').style.height='<?php echo $infoFile[1];?>px';
</script>
si lo pegan tal cual esta, les va a funcionar perfecto, solo tendrían que crear una carpeta que se llame "imagenes_temporales" en el directorio..
ayuda gracias.